:root {
  --accent: #5bd8d9;
  --dark-accent: #205656;
  --primary: #247879;
  --danger: #dc3545;
  --success: #1c5c04;
  --text: #212529;
  --muted: #6c757d;
  --line: #dee2e6;
  --soft: #f8f9fa;
  --shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
}

/* Admin member plus contract seed. The authoritative override is repeated at
   the end of the file so older member-detail rules cannot overwrite it. */
@media (min-width: 701px) {
  .admin-member-detail .member-detail-grid {
    grid-template-columns: 150px 12px 210px 12px 96px 12px 160px 42px 150px 300px 8px 200px;
    overflow: visible;
  }

  .admin-member-detail .member-profile-copy {
    grid-column: 10;
    grid-row: 4;
    width: 300px;
    max-width: 300px;
    min-width: 0;
    overflow: hidden;
    transform: none;
  }

  .admin-member-detail .member-profile-select {
    width: 300px;
    max-width: 300px;
    min-width: 0;
  }

  .admin-member-detail .admin-role-label {
    display: none;
  }

  .admin-member-detail .admin-role-field {
    grid-column: 12;
    grid-row: 4;
    width: 200px;
    max-width: 200px;
    min-width: 0;
    justify-self: start;
    transform: none;
  }

  .admin-member-detail .registered-field,
  .admin-member-detail .membership-field,
  .admin-member-detail .reminder-field,
  .admin-member-detail .euro-field,
  .admin-member-detail .credits-field,
  .admin-member-detail .session-field,
  .admin-member-detail .workshop-field,
  .admin-member-detail .credit-value-field,
  .admin-member-detail .linked-field {
    grid-column: 10 / 13;
    min-width: 0;
    max-width: 508px;
  }
}

.admin-member-detail .admin-member-dependent-plus,
.admin-member-detail .member-history-plus,
.source-green-plus {
  position: relative !important;
  z-index: 200 !important;
  display: inline-flex !important;
  width: 22px !important;
  height: 22px !important;
  min-width: 22px !important;
  min-height: 22px !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 50% !important;
  background: transparent !important;
  color: #fff !important;
  font-size: 0 !important;
  line-height: 22px !important;
  cursor: pointer !important;
  pointer-events: auto !important;
  overflow: visible !important;
}

.admin-member-detail .admin-member-dependent-plus::before,
.admin-member-detail .member-history-plus::before,
.source-green-plus::before {
  display: none !important;
  content: "" !important;
}

.admin-member-detail .admin-member-dependent-plus::after,
.admin-member-detail .member-history-plus::after,
.source-green-plus::after {
  content: "";
  position: absolute;
  inset: -9px;
  border-radius: 50%;
  background: transparent;
}

.admin-member-detail .admin-member-dependent-plus > span,
.admin-member-detail .member-history-plus > span,
.source-green-plus > span {
  position: relative;
  z-index: 1;
  display: inline-flex;
  width: 22px;
  height: 22px;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: #28a745;
  color: #fff;
  font-family: Arial, sans-serif;
  font-size: 20px;
  font-weight: 700;
  line-height: 18px;
}

.admin-member-event-full {
  color: #6b6b6b;
}

.source-green-plus.source-green-plus-disabled {
  cursor: default !important;
  pointer-events: none !important;
}

.source-green-plus.source-green-plus-disabled > span {
  background: #8f8f8f;
  color: #fff;
}

.event-full-label {
  color: #555;
  font-weight: 700;
}

.admin-member-detail .member-history-plus-reservation,
.admin-member-detail .member-history-plus-note {
  margin-left: 4px !important;
  margin-right: 16px !important;
  vertical-align: middle !important;
}

.admin-member-detail .membership-plus {
  justify-self: start;
  transform: translateY(-2px) !important;
}

.admin-member-detail .euro-plus,
.admin-member-detail .credits-plus {
  justify-self: start;
  transform: translate(96px, 5px) !important;
}

.admin-member-detail .member-history-actions {
  isolation: isolate;
}

.member-add-reservation-modal,
.member-add-note-events-modal {
  width: min(1140px, calc(100vw - 56px));
  max-height: calc(100dvh - 56px);
  padding: 0;
  overflow: auto;
  border: 1px solid rgba(0, 0, 0, 0.2);
  border-radius: 4.8px;
  box-shadow: none;
}

.member-add-reservation-modal .modal-header,
.member-add-note-events-modal .modal-header,
.member-add-note-modal .modal-header,
.admin-member-add-membership-modal .modal-header,
.admin-member-add-euro-credit-modal .modal-header,
.admin-member-add-member-credit-modal .modal-header {
  display: flex;
  min-height: 50px;
  align-items: center;
  justify-content: space-between;
  padding: 11px 16px;
  border-bottom: 1px solid #dee2e6;
}

.member-add-reservation-modal .modal-title,
.member-add-note-events-modal .modal-title,
.member-add-note-modal .modal-title,
.admin-member-add-membership-modal .modal-title,
.admin-member-add-euro-credit-modal .modal-title,
.admin-member-add-member-credit-modal .modal-title {
  margin: 0;
  color: #535353;
  font-size: 18px;
  font-weight: 400;
  line-height: 27px;
}

.member-add-reservation-modal .btn-close,
.member-add-note-events-modal .btn-close,
.member-add-note-modal .btn-close,
.admin-member-add-membership-modal .btn-close,
.admin-member-add-euro-credit-modal .btn-close,
.admin-member-add-member-credit-modal .btn-close {
  position: static;
  display: inline-flex;
  width: 30px;
  height: 30px;
  min-height: 30px;
  align-items: center;
  justify-content: center;
  padding: 0;
  border: 0;
  background: transparent;
  color: #000;
  font-size: 32px;
  font-weight: 300;
  line-height: 30px;
}

.admin-member-source-search {
  display: grid;
  grid-template-columns: 180px 1fr 58px 70px;
  align-items: center;
  margin: 16px;
}

.admin-member-source-search label {
  color: #535353;
  font-size: 14px;
  line-height: 21px;
}

.admin-member-source-search input {
  height: 40px;
  min-height: 40px;
  border: 1px solid #ced4da;
  border-radius: 0;
  padding: 6px 12px;
  color: #212529;
  font-size: 14px;
  line-height: 24px;
}

.admin-member-source-search .btn {
  height: 40px;
  min-height: 40px;
  border-radius: 0;
  font-size: 12px;
  font-weight: 700;
}

.admin-member-source-search .razevent {
  border-radius: 0 4px 4px 0;
}

.admin-member-source-table {
  width: calc(100% - 32px);
  margin: 0 16px 18px;
  border-collapse: collapse;
  color: #535353;
  font-size: 14px;
}

.admin-member-source-table th {
  padding: 11px 8px;
  border-bottom: 1px solid #dee2e6;
  background: #fff;
  color: #212529;
  font-size: 16px;
  font-weight: 700;
  text-align: left;
}

.admin-member-source-table td {
  padding: 10px 8px;
  border-top: 1px solid #dee2e6;
  background: #f2f2f2;
  vertical-align: top;
}

.admin-member-source-table tr:nth-child(even) td {
  background: #fff;
}

.admin-member-add-booking-table th:first-child,
.admin-member-add-booking-table td:first-child {
  width: 38px;
  text-align: center;
}

.source-note-icon {
  display: inline-block;
  width: 22px;
  height: 22px;
  border: 0;
  background: transparent;
  color: #535353;
  cursor: pointer;
}

.source-note-icon::before {
  content: "\270E";
  font-size: 18px;
  line-height: 22px;
}

.admin-member-source-rgpd {
  margin: 8px 16px 16px;
  color: #535353;
  font-size: 13px;
  line-height: 20px;
  text-align: center;
}

.member-add-note-modal,
.admin-member-add-membership-modal,
.admin-member-add-euro-credit-modal,
.admin-member-add-member-credit-modal {
  width: min(560px, calc(100vw - 56px));
  max-height: calc(100dvh - 56px);
  padding: 0;
  overflow: auto;
  border: 1px solid rgba(0, 0, 0, 0.2);
  border-radius: 4.8px;
  box-shadow: none;
}

.admin-member-note-editor-source,
.admin-member-dependent-source {
  display: grid;
  grid-template-columns: 190px 1fr;
  gap: 10px;
  padding: 16px;
  color: #535353;
  font-size: 14px;
  line-height: 21px;
}

.admin-member-note-editor-source .info {
  grid-column: 1 / -1;
  margin-bottom: 6px;
}

.admin-member-note-editor-source textarea {
  grid-column: 1 / -1;
  width: 100%;
  min-height: 110px;
  padding: 6px 12px;
  border: 1px solid #ced4da;
  border-radius: 3.2px;
  color: #212529;
  font-size: 14px;
  line-height: 21px;
}

.admin-member-dependent-source input {
  height: 31px;
  min-height: 31px;
}

.admin-member-source-footer {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  padding: 8px 12px;
  border-top: 1px solid #dee2e6;
}

.admin-member-source-footer .btn {
  min-height: 38px;
  padding: 6px 12px;
  border-radius: 4px;
  color: #fff;
  font-size: 16px;
  line-height: 24px;
}

.admin-member-source-footer .btn-secondary {
  border-color: #6c757d;
  background: #6c757d;
}


/* Admin member mobile hardening: final scoped layer so earlier role-shared
   member-detail rules cannot reintroduce overlap on dense admin records. */
@media (max-width: 700px) {
  .admin-member-detail .member-profile-select,
  .admin-member-detail .admin-role-field {
    width: 158px;
    max-width: 158px;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  .admin-member-detail .member-profile-copy {
    grid-column: 5;
    grid-row: 11;
    align-self: start;
  }

  .admin-member-detail .admin-role-label {
    grid-column: 5;
    grid-row: 13;
    align-self: start;
    transform: none;
  }

  .admin-member-detail .admin-role-field {
    grid-column: 5;
    grid-row: 14;
    align-self: start;
    transform: none;
  }

  .admin-member-detail .registered-label { grid-column: 5; grid-row: 16; }
  .admin-member-detail .registered-field { grid-column: 5; grid-row: 17; }
  .admin-member-detail .membership-label { grid-column: 5; grid-row: 19; }
  .admin-member-detail .membership-field { grid-column: 5; grid-row: 20; }
  .admin-member-detail .reminder-label { grid-column: 5; grid-row: 22; transform: none; }
  .admin-member-detail .reminder-field { grid-column: 5; grid-row: 23; transform: none; }
  .admin-member-detail .euro-label { grid-column: 5; grid-row: 26; }
  .admin-member-detail .euro-field { grid-column: 5; grid-row: 27; }
  .admin-member-detail .credits-label { grid-column: 5; grid-row: 29; }
  .admin-member-detail .credits-field { grid-column: 5; grid-row: 30; }
  .admin-member-detail .session-field { grid-column: 5; grid-row: 32; }
  .admin-member-detail .workshop-field { grid-column: 5; grid-row: 35; }
  .admin-member-detail .credit-value-label { grid-column: 5; grid-row: 39; }
  .admin-member-detail .credit-value-field { grid-column: 5; grid-row: 40; }
  .admin-member-detail .linked-label { grid-column: 5; grid-row: 42; transform: none; }
  .admin-member-detail .linked-field { grid-column: 5; grid-row: 43 / span 3; transform: none; }

  .admin-member-detail .origin-field {
    grid-column: 1;
    grid-row: 28;
    align-self: start;
  }

  .admin-member-detail .comments-label {
    grid-column: 1;
    grid-row: 30;
  }

  .admin-member-detail .comments-field {
    grid-column: 1;
    grid-row: 31 / span 2;
    align-self: start;
    transform: none;
  }

  .admin-member-detail .membership-plus {
    grid-column: 5;
    grid-row: 18;
    align-self: end;
  }

  .admin-member-detail .euro-plus {
    grid-column: 5;
    grid-row: 25;
    align-self: end;
  }

  .admin-member-detail .credits-plus {
    grid-column: 5;
    grid-row: 28;
    align-self: end;
  }
}

@media (max-width: 575.98px) {
  .admin-subscribers-page .table-responsive {
    width: 366px;
    max-width: 366px;
    margin-top: 31px;
    position: relative;
    top: 9px;
    overflow-x: visible;
  }

  .admin-subscribers-page .admin-subscribers-table {
    width: 507px !important;
    max-width: none;
    table-layout: fixed;
    color: #212529;
    font-size: 16px;
    line-height: 24px;
  }

  .admin-subscribers-page .admin-subscribers-table th,
  .admin-subscribers-page .admin-subscribers-table td {
    padding: 8px;
    white-space: normal;
    overflow-wrap: normal;
  }

  .admin-subscribers-page .admin-subscribers-table th:nth-child(1) {
    width: 70px;
  }

  .admin-subscribers-page .admin-subscribers-table th:nth-child(2) {
    width: 72px;
  }

  .admin-subscribers-page .admin-subscribers-table th:nth-child(3) {
    width: 92px;
  }

  .admin-subscribers-page .admin-subscribers-table th:nth-child(4) {
    width: 74px;
  }

  .admin-subscribers-page .admin-subscribers-table th:nth-child(5) {
    width: 72px;
  }

  .admin-subscribers-page .admin-subscribers-table th:nth-child(6) {
    width: 87px;
  }

  .admin-subscribers-page .admin-subscribers-table th:nth-child(7) {
    width: 40px;
  }
}

.modal-backdrop:has(.member-add-reservation-modal),
.modal-backdrop:has(.member-add-note-events-modal) {
  align-items: flex-start;
  justify-content: center;
  padding-top: 28px;
  padding-bottom: 28px;
  overflow: auto;
}

.member-add-reservation-modal,
.member-add-note-events-modal {
  display: flex;
  flex-direction: column;
  max-height: calc(100dvh - 56px);
  overflow: hidden;
}

.member-add-reservation-modal .modal-header,
.member-add-note-events-modal .modal-header {
  flex: 0 0 auto;
}

.member-add-reservation-modal .modal-body,
.member-add-note-events-modal .modal-body {
  flex: 1 1 auto;
  min-height: 0;
  overflow: auto;
}

.member-add-reservation-modal .admin-member-source-rgpd,
.member-add-note-events-modal .admin-member-source-rgpd {
  flex: 0 0 auto;
}

/* Admin member edit: final scoped overrides keep the admin contract from being
   overwritten by the shared intervenant member-detail grid below. */
.admin-member-detail .member-detail-grid {
  position: relative;
  z-index: 0;
  grid-template-columns: 150px 12px 210px 12px 96px 12px 160px 42px 150px 150px 150px 130px;
  grid-template-rows: 31px 31px 31px 31px 31px 31px 31px 17px 31px 31px 31px 68px 31px 31px;
  height: auto;
  min-height: 560px;
  background:
    linear-gradient(#dee2e6, #dee2e6) 12px 275px / 578px 1px no-repeat,
    linear-gradient(#dee2e6, #dee2e6) 12px 478px / 578px 1px no-repeat,
    linear-gradient(#dee2e6, #dee2e6) 640px 348px / 590px 1px no-repeat,
    linear-gradient(#dee2e6, #dee2e6) 640px 493px / 590px 1px no-repeat;
}

.admin-member-detail .member-detail-grid::before {
  left: 602.4px;
  height: 560px;
}

.admin-member-detail .first-field,
.admin-member-detail .last-field {
  grid-column: 3 / 8;
  width: auto;
  transform: none;
}

.admin-member-detail .admin-birth-field {
  grid-column: 3 / 8;
  grid-row: 3;
  width: auto;
}

.admin-member-detail .mapping-label { grid-column: 5; grid-row: 3; transform: none; }
.admin-member-detail .mapping-field { grid-column: 7; grid-row: 3; width: auto; transform: none; }
.admin-member-detail .email-label { grid-column: 1; grid-row: 4; transform: none; }
.admin-member-detail .email-field { grid-column: 3; grid-row: 4; width: auto; transform: none; }
.admin-member-detail .phone-label { grid-column: 5; grid-row: 4; width: auto; transform: none; }
.admin-member-detail .phone-field { grid-column: 7; grid-row: 4; width: auto; transform: none; }
.admin-member-detail .password-label { grid-column: 1; grid-row: 5; transform: none; }
.admin-member-detail .password-field { grid-column: 3; grid-row: 5; width: auto; transform: none; }
.admin-member-detail .address-label { grid-column: 1; grid-row: 6; transform: none; }
.admin-member-detail .address-field { grid-column: 3 / 8; grid-row: 6; width: auto; transform: none; }
.admin-member-detail .postcode-label { grid-column: 1; grid-row: 7; transform: none; }
.admin-member-detail .postcode-field { grid-column: 3; grid-row: 7; width: 126.6px; transform: none; }
.admin-member-detail .city-label { grid-column: 5; grid-row: 7; width: 50.2px; transform: translateX(-50.2px); }
.admin-member-detail .city-field { grid-column: 7; grid-row: 7; width: 227px; transform: translateX(-100.4px); }
.admin-member-detail .civility-label { grid-column: 1; grid-row: 9; transform: none; }
.admin-member-detail .civility-field { grid-column: 3 / 8; grid-row: 9; width: auto; transform: none; }
.admin-member-detail .profile-label { grid-column: 1; grid-row: 10; transform: none; }
.admin-member-detail .profile-field { grid-column: 3 / 8; grid-row: 10; width: auto; transform: none; }
.admin-member-detail .origin-label { grid-column: 1; grid-row: 11; transform: none; }
.admin-member-detail .origin-field { grid-column: 3 / 8; grid-row: 11; width: auto; transform: none; }
.admin-member-detail .comments-label { grid-column: 1; grid-row: 12; transform: none; }
.admin-member-detail .comments-field { grid-column: 3 / 8; grid-row: 12; width: auto; transform: translateY(2.3px); }

.admin-member-detail .right-photo-label { grid-column: 9; grid-row: 1 / span 3; transform: none; }
.admin-member-detail .member-photo-box { grid-column: 10 / 13; grid-row: 1 / span 3; transform: none; }
.admin-member-detail .admin-photo-box {
  position: relative;
  display: block;
  width: 390px;
  height: 118px;
  padding: 0;
}

.admin-member-detail .admin-photo-box img {
  position: absolute;
  left: 28px;
  top: 42px;
  width: 72px;
  height: 72px;
  margin: 0;
}

.admin-member-detail .admin-photo-input {
  position: absolute;
  left: 10px;
  top: 0;
  width: 314px;
  min-height: 31px;
  padding: 4px 0;
  border: 0;
  font-size: 12px;
}

.admin-member-detail .member-profile-label { grid-column: 9; grid-row: 4; transform: none; }
.admin-member-detail .member-profile-copy { grid-column: 10 / 13; grid-row: 4; transform: none; }
.admin-member-detail .member-profile-select { width: 390px; }
.admin-member-detail .admin-role-label { grid-column: 10; grid-row: 5; transform: none; }
.admin-member-detail .admin-role-field { grid-column: 11 / 13; grid-row: 5; width: 230px; transform: none; }
.admin-member-detail .registered-label { grid-column: 9; grid-row: 6; transform: none; }
.admin-member-detail .registered-field { grid-column: 10; grid-row: 6; transform: none; }
.admin-member-detail .membership-label { grid-column: 9; grid-row: 7; transform: none; }
.admin-member-detail .membership-field { grid-column: 10 / 13; grid-row: 7; transform: none; }
.admin-member-detail .priority-label { grid-column: 9; grid-row: 9; transform: none; }
.admin-member-detail .priority-field { grid-column: 10; grid-row: 9; transform: none; }
.admin-member-detail .reminder-label { grid-column: 11; grid-row: 9; transform: none; }
.admin-member-detail .reminder-field { grid-column: 12; grid-row: 9; transform: none; }
.admin-member-detail .euro-label { grid-column: 9; grid-row: 10; transform: none; }
.admin-member-detail .euro-field { grid-column: 10 / 13; grid-row: 10; transform: none; }
.admin-member-detail .credits-label { grid-column: 9; grid-row: 11; transform: none; }
.admin-member-detail .credits-field { grid-column: 10 / 13; grid-row: 11; transform: none; }
.admin-member-detail .session-spacer { grid-column: 9; grid-row: 12; transform: none; }
.admin-member-detail .session-field { grid-column: 10 / 13; grid-row: 12; align-self: start; transform: none; }
.admin-member-detail .workshop-field { grid-column: 10 / 13; grid-row: 13; align-self: start; transform: none; }
.admin-member-detail .credit-value-label { grid-column: 9; grid-row: 14; transform: none; }
.admin-member-detail .credit-value-field { grid-column: 10 / 13; grid-row: 14; transform: none; }
.admin-member-detail .linked-label { grid-column: 9; grid-row: 15; transform: none; }
.admin-member-detail .linked-field { grid-column: 10 / 13; grid-row: 15; transform: none; }

@media (max-width: 700px) {
  .admin-member-detail.container {
    width: 390px;
    max-width: none;
    margin-left: 0;
    margin-right: 0;
  }

  .admin-member-detail .member-detail-grid {
    grid-template-columns: 159px 24px 1px 24px 158px;
    grid-template-rows:
      25px 31px 25px 31px 25px 31px 25px 31px 25px 31px
      25px 31px 17px 25px 31px 25px 31px 17px 25px 31px
      25px 31px 25px 31px 25px 52px
      25px 132px 24px 108px 25px 31px 24px 31px 25px 52px
      25px 31px 25px 31px 25px 31px 25px 64px;
    height: 990px;
    min-height: 990px;
    background: none;
  }

  .admin-member-detail .member-detail-grid::before {
    position: static;
    grid-column: 3;
    grid-row: 1;
    width: 1px;
    height: 1074px;
    border-left: 0;
    background: #dee2e6;
  }

  .admin-member-detail .first-label { grid-column: 1; grid-row: 1; }
  .admin-member-detail .first-field { grid-column: 1; grid-row: 2; }
  .admin-member-detail .last-label { grid-column: 1; grid-row: 3; }
  .admin-member-detail .last-field { grid-column: 1; grid-row: 4; }
  .admin-member-detail .birth-label { grid-column: 1; grid-row: 5; }
  .admin-member-detail .admin-birth-field { grid-column: 1; grid-row: 6; grid-template-columns: 159px; gap: 0; }
  .admin-member-detail .mapping-label { grid-column: 1; grid-row: 7; }
  .admin-member-detail .mapping-field { grid-column: 1; grid-row: 8; }
  .admin-member-detail .email-label { grid-column: 1; grid-row: 9; }
  .admin-member-detail .email-field { grid-column: 1; grid-row: 10; }
  .admin-member-detail .password-label { grid-column: 1; grid-row: 11; }
  .admin-member-detail .password-field { grid-column: 1; grid-row: 12; }
  .admin-member-detail .phone-label { grid-column: 1; grid-row: 14; }
  .admin-member-detail .phone-field { grid-column: 1; grid-row: 15; }
  .admin-member-detail .address-label { grid-column: 1; grid-row: 16; }
  .admin-member-detail .address-field { grid-column: 1; grid-row: 17; }
  .admin-member-detail .postcode-label { grid-column: 1; grid-row: 19; }
  .admin-member-detail .postcode-field { grid-column: 1; grid-row: 20; }
  .admin-member-detail .city-label { grid-column: 1; grid-row: 21; width: auto; transform: none; }
  .admin-member-detail .city-field { grid-column: 1; grid-row: 22; width: 159px; transform: none; }
  .admin-member-detail .civility-label { grid-column: 1; grid-row: 23; }
  .admin-member-detail .civility-field { grid-column: 1; grid-row: 24; }
  .admin-member-detail .profile-label { grid-column: 1; grid-row: 25; }
  .admin-member-detail .profile-field { grid-column: 1; grid-row: 26; }
  .admin-member-detail .origin-label { grid-column: 1; grid-row: 27; }
  .admin-member-detail .origin-field { grid-column: 1; grid-row: 28; }
  .admin-member-detail .comments-label { grid-column: 1; grid-row: 29; }
  .admin-member-detail .comments-field { grid-column: 1; grid-row: 30; }
  .admin-member-detail .right-photo-label { grid-column: 5; grid-row: 1 / span 3; }
  .admin-member-detail .member-photo-box { grid-column: 5; grid-row: 2 / span 4; }
  .admin-member-detail .admin-photo-box {
    width: 158px;
    height: 132px;
  }
  .admin-member-detail .admin-photo-box img {
    left: 0;
    top: 0;
    width: 80px;
    height: 80px;
  }
  .admin-member-detail .admin-photo-input {
    left: 0;
    top: 92px;
    width: 158px;
  }
  .admin-member-detail .member-profile-label { grid-column: 5; grid-row: 10; }
  .admin-member-detail .member-profile-copy { grid-column: 5; grid-row: 11; }
  .admin-member-detail .admin-role-label { grid-column: 5; grid-row: 12; }
  .admin-member-detail .admin-role-field { grid-column: 5; grid-row: 13; }
  .admin-member-detail .registered-label { grid-column: 5; grid-row: 14; }
  .admin-member-detail .registered-field { grid-column: 5; grid-row: 15; }
  .admin-member-detail .membership-label { grid-column: 5; grid-row: 16; }
  .admin-member-detail .membership-field { grid-column: 5; grid-row: 17; }
  .admin-member-detail .priority-label { grid-column: 5; grid-row: 19; }
  .admin-member-detail .priority-field { grid-column: 5; grid-row: 20; }
  .admin-member-detail .reminder-label { grid-column: 5; grid-row: 21; }
  .admin-member-detail .reminder-field { grid-column: 5; grid-row: 22; }
  .admin-member-detail .reminder-label,
  .admin-member-detail .reminder-field {
    transform: translateY(-170px);
  }
  .admin-member-detail .euro-label { grid-column: 5; grid-row: 24; }
  .admin-member-detail .euro-field { grid-column: 5; grid-row: 25; }
  .admin-member-detail .credits-label { grid-column: 5; grid-row: 26; }
  .admin-member-detail .credits-field { grid-column: 5; grid-row: 27; }
  .admin-member-detail .session-field { grid-column: 5; grid-row: 28 / span 2; }
  .admin-member-detail .workshop-field { grid-column: 5; grid-row: 30 / span 2; }
  .admin-member-detail .credit-value-label { grid-column: 5; grid-row: 34; }
  .admin-member-detail .credit-value-field { grid-column: 5; grid-row: 35; }
  .admin-member-detail .linked-label { grid-column: 5; grid-row: 36; }
  .admin-member-detail .linked-field { grid-column: 5; grid-row: 37 / span 3; }
}

@media (min-width: 701px) and (max-width: 1280px) {
  .admin-member-detail.container {
    width: calc(100vw - 80px);
    max-width: none;
  }

  .admin-member-detail .member-detail-grid {
    grid-template-columns:
      130px 8px minmax(160px, 190px) 8px 70px 8px minmax(115px, 145px)
      24px 120px minmax(150px, 1fr) 8px minmax(120px, 150px);
    width: 100%;
    max-width: 100%;
    background: none;
  }

  .admin-member-detail .member-detail-grid::before {
    display: none;
  }

  .admin-member-detail .first-field,
  .admin-member-detail .last-field,
  .admin-member-detail .admin-birth-field,
  .admin-member-detail .address-field,
  .admin-member-detail .civility-field,
  .admin-member-detail .profile-field,
  .admin-member-detail .origin-field,
  .admin-member-detail .comments-field {
    min-width: 0;
    width: auto;
  }

  .admin-member-detail .mapping-field,
  .admin-member-detail .phone-field,
  .admin-member-detail .postcode-field,
  .admin-member-detail .city-field,
  .admin-member-detail .member-profile-select,
  .admin-member-detail .admin-role-field,
  .admin-member-detail .credit-value-field input {
    min-width: 0;
    width: 100%;
    max-width: 100%;
    transform: none;
  }

  .admin-member-detail .city-label {
    width: auto;
    transform: none;
  }

  .admin-member-detail .admin-photo-box {
    width: 100%;
    max-width: 100%;
  }

  .admin-member-detail .admin-photo-input {
    left: 0;
    width: min(314px, 100%);
  }

  .admin-member-detail .member-profile-copy,
  .admin-member-detail .membership-field,
  .admin-member-detail .euro-field,
  .admin-member-detail .credits-field,
  .admin-member-detail .session-field,
  .admin-member-detail .workshop-field,
  .admin-member-detail .credit-value-field,
  .admin-member-detail .linked-field {
    min-width: 0;
    max-width: 100%;
    overflow-wrap: anywhere;
  }

  .admin-member-detail .session-field,
  .admin-member-detail .workshop-field {
    display: grid;
    grid-template-columns: minmax(105px, 1fr) minmax(70px, 130px);
    align-items: center;
    gap: 8px;
  }

  .admin-member-detail .session-field select,
  .admin-member-detail .workshop-field select {
    width: 100%;
    min-width: 0;
  }

  .admin-member-detail .history-add-btn,
  .admin-member-detail .history-pill {
    position: relative;
    z-index: 2;
  }
}

.documentation-page {
  min-height: 100vh;
  background: #f6f8f7;
  color: #172426;
  font-size: 16px;
  line-height: 1.55;
}

.documentation-topbar {
  position: sticky;
  top: 0;
  z-index: 20;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  min-height: 64px;
  padding: 10px max(24px, calc((100vw - 1180px) / 2));
  border-bottom: 1px solid #d9e3df;
  background: rgba(255, 255, 255, 0.96);
}

.documentation-brand,
.documentation-toplinks a {
  color: #172426;
  text-decoration: none;
}

.documentation-brand {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  font-weight: 700;
}

.documentation-brand img {
  width: 34px;
  height: 34px;
  object-fit: contain;
}

.documentation-toplinks {
  display: flex;
  align-items: center;
  gap: 18px;
  font-size: 14px;
}

.documentation-toplinks a:hover {
  color: #257f82;
}

.documentation-hero,
.documentation-band {
  width: min(1180px, calc(100% - 40px));
  margin: 0 auto;
}

.documentation-hero {
  padding: 70px 0 36px;
}

.documentation-kicker {
  margin: 0 0 12px;
  color: #257f82;
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
}

.documentation-hero h1,
.documentation-band h2 {
  margin: 0;
  color: #172426;
  letter-spacing: 0;
}

.documentation-hero h1 {
  max-width: 780px;
  font-size: 48px;
  line-height: 1.05;
}

.documentation-hero p {
  max-width: 760px;
  margin: 18px 0 0;
  color: #4d5d60;
  font-size: 18px;
}

.doc-stat-grid,
.documentation-grid,
.documentation-columns {
  display: grid;
  gap: 16px;
}

.documentation-grid > *,
.documentation-columns > *,
.documentation-reference-header > * {
  min-width: 0;
}

.doc-stat-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-top: 30px;
}

.doc-stat,
.documentation-feature {
  border: 1px solid #d9e3df;
  border-radius: 8px;
  background: #fff;
}

.doc-stat {
  padding: 18px;
}

.doc-stat span,
.doc-stat strong {
  display: block;
}

.doc-stat span {
  color: #647274;
  font-size: 13px;
}

.doc-stat strong {
  margin-top: 4px;
  color: #0f3436;
  font-size: 20px;
  overflow-wrap: anywhere;
}

.documentation-band {
  padding: 34px 0;
  border-top: 1px solid #dfe7e4;
}

.documentation-band h2 {
  margin-bottom: 18px;
  font-size: 28px;
}

.documentation-band h3 {
  margin: 0 0 8px;
  font-size: 17px;
}

.documentation-grid--three {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.documentation-grid--two {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.documentation-grid--four {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.documentation-feature {
  padding: 18px;
}

.documentation-install {
  padding: 18px;
  border: 1px solid #d9e3df;
  border-radius: 8px;
  background: #fff;
}

.documentation-install--wide {
  grid-column: 1 / -1;
}

.documentation-generator {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin: 18px 0;
}

.documentation-generator label {
  display: grid;
  gap: 6px;
  min-width: 0;
  color: #304448;
  font-size: 13px;
  font-weight: 700;
}

.documentation-generator label:last-child {
  grid-column: 1 / -1;
}

.documentation-generator input,
.documentation-generator select,
.documentation-generator textarea {
  width: 100%;
  min-width: 0;
  border: 1px solid #c7d4d0;
  border-radius: 6px;
  background: #fff;
  color: #172426;
  font: inherit;
}

.documentation-generator textarea {
  min-height: 118px;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
  font-size: 13px;
}

.documentation-feature p,
.documentation-band p,
.documentation-install p {
  margin: 0;
  color: #516164;
}

.documentation-columns {
  grid-template-columns: minmax(0, 0.82fr) minmax(360px, 1.18fr);
  align-items: start;
}

.documentation-list {
  margin: 0;
  padding-left: 20px;
  color: #516164;
}

.documentation-code-wrap {
  position: relative;
  min-width: 0;
  max-width: 100%;
}

.documentation-copy {
  position: absolute;
  top: 8px;
  right: 8px;
  z-index: 2;
  min-height: 28px;
  padding: 3px 8px;
  border: 1px solid #38585c;
  border-radius: 6px;
  background: #e7f4ef;
  color: #102225;
  cursor: pointer;
  font-size: 12px;
  font-weight: 700;
}

.documentation-copy:hover {
  background: #ffffff;
}

.documentation-code {
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding: 46px 16px 16px;
  overflow: auto;
  border: 1px solid #243c3f;
  border-radius: 8px;
  background: #10191b;
  color: #e7f4ef;
  font-size: 13px;
  line-height: 1.55;
}

.documentation-copy-fallback {
  display: block;
  width: 100%;
  min-height: 92px;
  margin-top: 8px;
  border: 1px solid #9fb6b1;
  border-radius: 6px;
  background: #fff;
  color: #172426;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
  font-size: 12px;
}

.documentation-copy-fallback[hidden] {
  display: none;
}

.documentation-code code {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
  white-space: pre;
}

.documentation-flow {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
}

.documentation-flow span {
  display: inline-flex;
  min-height: 36px;
  align-items: center;
  padding: 6px 10px;
  border: 1px solid #c8d8d4;
  border-radius: 6px;
  background: #fff;
  font-weight: 700;
}

.documentation-flow i {
  color: #8b6f20;
  font-style: normal;
}

.permission-rule-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin-top: 16px;
}

.permission-table-wrap {
  overflow-x: auto;
  border: 1px solid #d2dfdb;
  border-radius: 8px;
  background: #fff;
}

.permission-table {
  width: 100%;
  min-width: 760px;
  border-collapse: collapse;
}

.permission-table th,
.permission-table td {
  padding: 14px 16px;
  border-bottom: 1px solid #e2ebe8;
  text-align: left;
  vertical-align: top;
}

.permission-table th {
  background: #ecf2f0;
  color: #26383b;
  font-size: 13px;
  text-transform: uppercase;
}

.permission-table td {
  color: #415053;
  font-size: 15px;
  line-height: 1.45;
}

.permission-table strong {
  color: #172426;
}

.permission-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.permission-list--wide {
  grid-template-columns: 1fr;
}

.permission-list article {
  padding: 14px 0;
  border-bottom: 1px solid #d8e3df;
}

.permission-list strong {
  display: block;
  color: #172426;
  font-size: 16px;
}

.permission-list p {
  margin: 6px 0 0;
  color: #415053;
  line-height: 1.45;
}

.documentation-reference-header {
  display: grid;
  grid-template-columns: minmax(260px, 0.75fr) minmax(420px, 1.25fr);
  gap: 18px;
  align-items: end;
  margin-bottom: 16px;
}

.documentation-filters {
  display: grid;
  grid-template-columns: minmax(220px, 1fr) repeat(3, minmax(110px, 0.38fr));
  gap: 10px;
}

.documentation-filters input,
.documentation-filters select {
  width: 100%;
  min-width: 0;
  border-color: #c7d4d0;
  border-radius: 6px;
  background: #fff;
  font-size: 14px;
}

.documentation-table-wrap {
  min-width: 0;
  max-width: 100%;
  overflow-x: auto;
  border: 1px solid #d2dfdb;
  border-radius: 8px;
  background: #fff;
}

.documentation-table {
  width: 100%;
  min-width: 980px;
  border-collapse: collapse;
  table-layout: fixed;
}

.documentation-table th,
.documentation-table td {
  padding: 13px 12px;
  border-bottom: 1px solid #e2ebe8;
  vertical-align: top;
  text-align: left;
}

.documentation-table th {
  background: #ecf2f0;
  color: #26383b;
  font-size: 13px;
  text-transform: uppercase;
}

.documentation-table td {
  color: #415053;
  font-size: 14px;
}

.documentation-table tr:target {
  outline: 3px solid #0969da;
  outline-offset: -3px;
  background: #f6f8ff;
}

.documentation-table td:nth-child(1) {
  width: 32%;
}

.documentation-table td:nth-child(5) {
  width: 14%;
}

.documentation-table strong,
.documentation-table span,
.documentation-table small {
  display: block;
}

.documentation-table strong {
  color: #172426;
  overflow-wrap: anywhere;
}

.documentation-table code {
  white-space: normal;
  overflow-wrap: anywhere;
}

.documentation-table td:first-child code {
  display: inline-block;
  margin-top: 6px;
  color: #57606a;
  font-size: 12px;
}

.documentation-table details {
  max-width: 100%;
}

.documentation-table summary {
  cursor: pointer;
  color: #257f82;
  font-weight: 700;
}

.documentation-table details .documentation-code {
  margin-top: 10px;
  max-height: 240px;
}

.doc-risk {
  display: inline-block;
  max-width: 100%;
  padding: 2px 7px;
  border-radius: 999px;
  background: #eef3f1;
  color: #172426;
  font-size: 12px;
  font-weight: 700;
  overflow-wrap: anywhere;
}

.doc-risk--destructive {
  background: #ffe8e5;
  color: #9b2f25;
}

.doc-risk--sensitive,
.doc-risk--mutation {
  background: #fff3cf;
  color: #77570c;
}

.doc-risk--read {
  background: #e8f1ff;
  color: #214f80;
}

.documentation-copy--static {
  position: static;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 34px;
}

.api-keys-page .documentation-band {
  overflow: visible;
}

.api-key-form-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.api-key-form-grid label,
.api-permission-row label {
  display: grid;
  gap: 6px;
  min-width: 0;
  color: #304448;
  font-size: 13px;
  font-weight: 700;
}

.api-key-form-grid input,
.api-key-form-grid select,
.api-permission-picker input,
.api-permission-row select {
  width: 100%;
  min-width: 0;
  border: 1px solid #c7d4d0;
  border-radius: 6px;
  background: #fff;
  color: #172426;
  font: inherit;
}

.api-key-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 18px;
}

.api-key-header h2,
.api-permissions h2,
.api-key-result h2 {
  margin: 0 0 6px;
  color: #172426;
}

.api-key-list {
  display: grid;
  gap: 10px;
}

.api-key-row {
  display: grid;
  grid-template-columns: minmax(180px, 1.25fr) minmax(72px, 0.45fr) repeat(5, minmax(0, 0.66fr)) minmax(120px, 0.7fr);
  gap: 12px;
  align-items: center;
  padding: 14px;
  border: 1px solid #d7e3df;
  border-radius: 8px;
  background: #fff;
}

.api-key-row strong,
.api-key-row span,
.api-key-row small,
.api-key-row code {
  display: block;
  min-width: 0;
  overflow-wrap: anywhere;
}

.api-key-row code {
  color: #6b4b00;
}

.api-key-status {
  display: inline-flex;
  width: fit-content;
  max-width: 100%;
  padding: 2px 8px;
  border-radius: 999px;
  background: #e7f4ef;
  color: #154b38;
  font-size: 12px;
  font-weight: 800;
}

.api-key-status--revoked,
.api-key-status--expired {
  background: #ffe8e5;
  color: #9b2f25;
}

.api-key-row-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-end;
}

.api-key-empty {
  padding: 22px;
  border: 1px dashed #adc3bd;
  border-radius: 8px;
  background: #f8fbfa;
  color: #516164;
  text-align: center;
}

.api-key-create {
  border-color: #bdcfc9;
}

.api-key-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 28px;
}

.api-key-create .api-key-actions .btn {
  min-height: 42px;
  padding: 0 18px;
  border-radius: 6px;
  font-size: 16px;
  font-weight: 700;
}

.api-key-ready-note {
  margin: 12px 0 0;
  color: #57606a;
  font-size: 14px;
  line-height: 1.45;
}

.api-permissions {
  max-width: 1536px;
  margin: 32px auto 0;
  color: #24292f;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.api-permissions-title h2 {
  margin: 0;
  padding-bottom: 14px;
  border-bottom: 1px solid #d8dee4;
  color: #24292f;
  font-size: 22px;
  font-weight: 500;
  line-height: 1.25;
}

.api-permissions-title p {
  margin: 24px 0 0;
  color: #24292f;
  font-size: 16px;
  line-height: 1.45;
}

.api-permissions-title a,
.api-permission-row-main a {
  color: #0969da;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.api-permission-group {
  position: relative;
  margin-top: 22px;
  overflow: visible;
  border: 1px solid #d0d7de;
  border-radius: 8px;
  background: #fff;
}

.api-permission-group-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  min-height: 50px;
  padding: 8px 24px;
  border-bottom: 1px solid #d8dee4;
  border-radius: 8px 8px 0 0;
  background: #f6f8fa;
}

.api-permission-group-title {
  display: flex;
  gap: 12px;
  align-items: center;
  min-width: 0;
}

.api-permission-group-title strong {
  color: #24292f;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.2;
}

.api-permission-group-title span {
  display: inline-flex;
  min-width: 28px;
  min-height: 24px;
  align-items: center;
  justify-content: center;
  padding: 0 8px;
  border-radius: 999px;
  background: #eaeef2;
  color: #24292f;
  font-size: 14px;
  font-weight: 700;
}

.api-add-permission-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-width: 170px;
  min-height: 34px;
  padding: 0 14px;
  border: 1px solid #d0d7de;
  border-radius: 8px;
  background: #f6f8fa;
  box-shadow: 0 1px 0 rgba(27, 31, 36, 0.04), inset 0 1px 0 rgba(255, 255, 255, 0.25);
  color: #24292f;
  cursor: pointer;
  font-size: 16px;
  font-weight: 700;
  white-space: nowrap;
}

.api-add-permission-button:hover {
  background: #eef2f6;
}

.api-add-permission-button span {
  color: #24292f;
  font-size: 22px;
  font-weight: 400;
  line-height: 1;
}

.api-permission-body {
  display: grid;
  gap: 0;
  padding: 0;
}

.api-permission-empty {
  display: grid;
  min-height: 260px;
  place-items: center;
  align-content: center;
  padding: 34px 24px;
  border: 3px solid #0969da;
  border-radius: 0 0 8px 8px;
  background: #fff;
  color: #57606a;
  text-align: center;
}

.api-permission-empty > span {
  position: relative;
  width: 28px;
  height: 28px;
  margin-bottom: 16px;
}

.api-permission-empty > span::before {
  content: "";
  position: absolute;
  top: 0;
  left: 7px;
  width: 12px;
  height: 12px;
  border: 2px solid #57606a;
  border-radius: 50%;
}

.api-permission-empty > span::after {
  content: "";
  position: absolute;
  left: 1px;
  bottom: 1px;
  width: 22px;
  height: 15px;
  border: 2px solid #57606a;
  border-bottom: 0;
  border-radius: 18px 18px 0 0;
}

.api-permission-empty strong {
  color: #24292f;
  font-size: 18px;
  line-height: 1.25;
}

.api-permission-empty p {
  max-width: 680px;
  margin: 12px 0 0;
  color: #57606a;
  font-size: 16px;
  line-height: 1.45;
}

.api-permission-picker {
  position: absolute;
  top: 66px;
  right: 16px;
  z-index: 20;
  width: min(340px, calc(100vw - 40px));
  max-height: 360px;
  padding: 0;
  border: 1px solid #d0d7de;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 18px 48px rgba(27, 31, 36, 0.18);
  overflow: hidden;
}

.api-permission-picker-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 12px 16px 8px;
  color: #24292f;
  font-size: 16px;
  line-height: 1.25;
}

.api-permission-picker-close,
.api-permission-remove {
  display: inline-flex;
  width: 34px;
  height: 34px;
  align-items: center;
  justify-content: center;
  border: 0;
  background: transparent;
  color: #57606a;
  cursor: pointer;
  font-size: 26px;
  line-height: 1;
}

.api-permission-picker-close:hover,
.api-permission-remove:hover {
  color: #24292f;
}

.api-permission-search {
  position: relative;
  display: block;
  padding: 0 14px 10px;
  border-bottom: 1px solid #d8dee4;
}

.api-permission-search > span::before {
  content: "";
  position: absolute;
  top: 13px;
  left: 26px;
  width: 12px;
  height: 12px;
  border: 2px solid #57606a;
  border-radius: 50%;
}

.api-permission-search > span::after {
  content: "";
  position: absolute;
  top: 25px;
  left: 38px;
  width: 9px;
  height: 2px;
  border-radius: 999px;
  background: #57606a;
  transform: rotate(45deg);
  transform-origin: left center;
}

.api-permission-search input {
  width: 100%;
  height: 36px;
  padding-left: 34px;
  border: 2px solid #0969da;
  border-radius: 8px;
  background: #f6f8fa;
  color: #24292f;
  font-size: 16px;
  line-height: 1;
}

.api-permission-picker-count {
  display: none;
  padding: 10px 30px 0;
  color: #57606a;
  font-size: 13px;
}

.api-permission-picker-list {
  display: grid;
  max-height: 268px;
  overflow: auto;
  padding: 8px 10px 10px;
}

.api-permission-picker-list label {
  display: grid;
  grid-template-columns: 26px minmax(0, 1fr);
  gap: 8px;
  align-items: center;
  min-height: 34px;
  padding: 5px 10px;
  border-radius: 7px;
  color: #24292f;
  cursor: pointer;
  font-size: 16px;
  line-height: 1.2;
}

.api-permission-picker-list label:hover,
.api-permission-picker-list label:has(input:checked) {
  background: #f6f8fa;
}

.api-permission-picker-list input[type="checkbox"] {
  width: 18px;
  height: 18px;
  min-width: 18px;
  min-height: 18px;
  padding: 0;
  border-radius: 3px;
  accent-color: #0969da;
}

.api-permission-picker-list small {
  display: none;
}

.api-permission-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) max-content 42px;
  gap: 16px;
  align-items: center;
  min-height: 96px;
  padding: 18px 24px;
  border-bottom: 1px solid #d8dee4;
  background: #fff;
}

.api-permission-row:last-child {
  border-bottom: 0;
}

.api-permission-row p,
.api-permission-row small {
  margin: 8px 0 0;
  overflow-wrap: anywhere;
}

.api-permission-row-main strong {
  color: #24292f;
  font-size: 16px;
  line-height: 1.25;
}

.api-permission-row-main p {
  color: #57606a;
  font-size: 14px;
  line-height: 1.42;
}

.api-permission-row-main small {
  color: #57606a;
  font-size: 13px;
}

.api-permission-row .api-permission-access {
  display: inline-flex;
  min-height: 38px;
  align-items: center;
  gap: 8px;
  padding: 0 10px;
  border: 1px solid #d0d7de;
  border-radius: 8px;
  background: #f6f8fa;
  color: #57606a;
  font-size: 14px;
  color: #57606a;
  font-weight: 700;
  white-space: nowrap;
}

.api-permission-row .api-permission-access select {
  height: 34px;
  width: auto;
  margin-top: 0;
  border: 0;
  background: transparent;
  color: #24292f;
  font-size: 14px;
  font-weight: 700;
}

.api-key-secret {
  display: grid;
  grid-template-columns: minmax(0, 1fr) max-content;
  gap: 10px;
  align-items: center;
  margin: 14px 0;
  padding: 12px;
  border: 1px solid #b6c9c3;
  border-radius: 8px;
  background: #f6faf8;
}

.api-key-secret code,
.api-key-summary {
  min-width: 0;
  overflow: auto;
  overflow-wrap: anywhere;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
}

.api-key-summary {
  margin: 16px 0 0;
  padding: 14px;
  border: 1px solid #d2dfdb;
  border-radius: 8px;
  background: #fbfcfc;
  color: #172426;
  font-size: 12px;
}

@media (max-width: 1180px) {
  .api-key-row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .api-permission-picker {
    right: 18px;
  }
}

@media (max-width: 900px) {
  .documentation-topbar {
    position: static;
    flex-direction: column;
    align-items: flex-start;
    padding: 14px 20px;
  }

  .documentation-toplinks {
    flex-wrap: wrap;
    gap: 10px 14px;
  }

  .documentation-hero,
  .documentation-band {
    width: min(100% - 24px, 760px);
  }

  .documentation-hero {
    padding-top: 34px;
  }

  .documentation-hero h1 {
    font-size: 34px;
  }

  .doc-stat-grid,
  .documentation-grid--two,
  .documentation-grid--three,
  .documentation-grid--four,
  .documentation-generator,
  .documentation-columns,
  .documentation-reference-header,
  .documentation-filters,
  .permission-rule-grid,
  .permission-list,
  .api-key-form-grid,
  .api-key-row,
  .api-permission-row,
  .api-key-secret {
    grid-template-columns: 1fr;
  }

  .api-key-header,
  .api-permission-group-header {
    flex-direction: column;
    align-items: stretch;
  }

  .api-key-row-actions {
    justify-content: flex-start;
  }

  .api-permission-picker {
    position: static;
    width: auto;
    margin: 0 14px 14px;
    box-shadow: none;
  }

  .documentation-columns {
    gap: 18px;
  }

  .documentation-code {
    font-size: 12px;
  }
}

.admin-member-detail .member-detail-grid {
  grid-template-columns: 150px 12px 210px 12px 96px 12px 160px 42px 150px 150px 150px 130px;
  grid-template-rows: 31px 31px 31px 31px 31px 31px 31px 17px 31px 31px 31px 68px 31px;
}

.admin-member-detail .first-field,
.admin-member-detail .last-field {
  grid-column: 3 / 8;
}

.admin-member-detail .admin-birth-field {
  grid-column: 3 / 8;
  grid-row: 3;
  display: grid;
  grid-template-columns: 210px max-content;
  align-items: center;
  gap: 16px;
}

.admin-member-detail .admin-birth-field .birth-field {
  grid-column: auto;
  grid-row: auto;
  width: 210px;
}

.admin-member-detail .admin-birth-field span {
  color: #535353;
  font-size: 14px;
  line-height: 21px;
}

.mapping-label {
  grid-column: 5;
  grid-row: 3;
}

.mapping-field {
  grid-column: 7;
  grid-row: 3;
}

.password-label {
  grid-column: 1;
  grid-row: 5;
}

.password-field {
  grid-column: 3;
  grid-row: 5;
  display: flex;
  align-items: center;
  min-height: 31px;
}

.password-field .modify_pwd {
  min-height: 31px;
  padding: 4px 10px;
  border-color: #6c757d;
  color: #535353;
  font-size: 12px;
  line-height: 18px;
}

.admin-member-detail .email-label,
.admin-member-detail .email-field {
  grid-row: 4;
}

.admin-member-detail .phone-label,
.admin-member-detail .phone-field {
  grid-row: 4;
}

.admin-member-detail .address-label,
.admin-member-detail .address-field {
  grid-row: 6;
}

.admin-member-detail .postcode-label,
.admin-member-detail .postcode-field,
.admin-member-detail .city-label,
.admin-member-detail .city-field {
  grid-row: 7;
}

.admin-member-detail .civility-label,
.admin-member-detail .civility-field {
  grid-row: 9;
}

.admin-member-detail .profile-label,
.admin-member-detail .profile-field {
  grid-row: 10;
}

.admin-member-detail .origin-label,
.admin-member-detail .origin-field {
  grid-row: 11;
}

.admin-member-detail .comments-label,
.admin-member-detail .comments-field {
  grid-row: 12;
}

.admin-photo-box {
  display: grid;
  grid-template-columns: 112px minmax(140px, 1fr);
  align-items: start;
  gap: 12px;
  width: 300px;
}

.admin-photo-input {
  align-self: center;
  width: 170px;
  min-height: 31px;
  padding: 4px 0;
  border: 0;
  font-size: 12px;
}

.member-profile-select {
  width: 360px;
  min-height: 31px;
  padding: 4px 8px;
  white-space: normal;
}

.admin-role-label {
  grid-column: 10;
  grid-row: 4;
  transform: translateY(31px);
}

.admin-role-field {
  grid-column: 11 / 13;
  grid-row: 4;
  width: 230px;
  transform: translateY(31px);
}

.admin-reminder-radios {
  display: flex;
  gap: 22px;
  align-items: center;
}

.admin-reminder-radios label {
  display: inline-flex;
  gap: 5px;
  align-items: center;
  min-height: 0;
  padding: 0;
}

.admin-reminder-radios input {
  width: auto;
  min-height: 0;
}

.credit-value-label {
  grid-column: 9;
  grid-row: 12;
  transform: translateY(25px);
}

.credit-value-field {
  grid-column: 10 / 13;
  grid-row: 12;
  display: flex;
  align-items: center;
  gap: 8px;
  color: #535353;
  font-size: 14px;
  transform: translateY(25px);
}

.credit-value-field input {
  width: 88px;
}

.admin-member-detail .linked-label,
.admin-member-detail .linked-field {
  transform: translateY(58px);
}

@media (max-width: 700px) {
  .admin-member-detail h3 {
    width: 366px;
    margin-left: 12px;
  }

  .admin-member-detail .member-detail-grid {
    grid-template-columns: 159px 24px 1px 24px 158px;
    height: 990px;
    grid-template-rows:
      25px 31px 25px 31px 25px 31px 25px 31px 25px 31px
      25px 31px 17px 25px 31px 25px 31px 17px 25px 31px
      25px 31px 25px 31px 25px 52px
      25px 132px 24px 108px 25px 31px 24px 31px 25px 52px
      25px 31px 25px 31px 25px 31px 25px 64px;
  }

  .admin-member-detail .admin-birth-field {
    grid-column: 1;
    grid-row: 6;
    grid-template-columns: 159px;
    gap: 0;
  }

  .admin-member-detail .admin-birth-field .birth-field {
    width: 159px;
  }

  .admin-member-detail .admin-birth-field span {
    margin-top: 4px;
  }

  .mapping-label { grid-column: 1; grid-row: 7; }
  .mapping-field { grid-column: 1; grid-row: 8; }
  .admin-member-detail .email-label { grid-column: 1; grid-row: 9; }
  .admin-member-detail .email-field { grid-column: 1; grid-row: 10; }
  .password-label { grid-column: 1; grid-row: 11; }
  .password-field { grid-column: 1; grid-row: 12; }
  .admin-member-detail .phone-label { grid-column: 1; grid-row: 14; }
  .admin-member-detail .phone-field { grid-column: 1; grid-row: 15; }
  .admin-member-detail .address-label { grid-column: 1; grid-row: 16; }
  .admin-member-detail .address-field { grid-column: 1; grid-row: 17; }
  .admin-member-detail .postcode-label { grid-column: 1; grid-row: 19; }
  .admin-member-detail .postcode-field { grid-column: 1; grid-row: 20; }
  .admin-member-detail .city-label { grid-column: 1; grid-row: 21; }
  .admin-member-detail .city-field { grid-column: 1; grid-row: 22; }
  .admin-member-detail .civility-label { grid-column: 1; grid-row: 23; }
  .admin-member-detail .civility-field { grid-column: 1; grid-row: 24; }
  .admin-member-detail .profile-label { grid-column: 1; grid-row: 25; }
  .admin-member-detail .profile-field { grid-column: 1; grid-row: 26; }
  .admin-member-detail .origin-label { grid-column: 1; grid-row: 27; }
  .admin-member-detail .origin-field { grid-column: 1; grid-row: 28; }
  .admin-member-detail .comments-label { grid-column: 1; grid-row: 29; }
  .admin-member-detail .comments-field { grid-column: 1; grid-row: 30; }

  .admin-photo-box {
    grid-template-columns: 112px;
    width: 158px;
    height: 132px;
    padding-left: 0;
  }

  .admin-photo-input {
    width: 158px;
  }

  .member-profile-select,
  .admin-role-field {
    width: 158px;
  }

  .admin-role-label { grid-column: 5; grid-row: 12; transform: none; }
  .admin-role-field { grid-column: 5; grid-row: 13; transform: none; }
  .admin-reminder-radios {
    display: block;
  }

  .credit-value-label { grid-column: 5; grid-row: 34; transform: none; }
  .credit-value-field { grid-column: 5; grid-row: 35; transform: none; }
  .admin-member-detail .linked-label { grid-column: 5; grid-row: 36; transform: none; }
  .admin-member-detail .linked-field { grid-column: 5; grid-row: 37 / span 3; transform: none; }
}

@font-face {
  font-family: "bootstrap-icons";
  src: url("../assets/bootstrap-icons.woff2") format("woff2");
  font-display: block;
}

* {
  box-sizing: border-box;
}

html,
body {
  margin: 0;
  min-height: 100%;
  color: var(--text);
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  font-size: 16px;
  line-height: 1.5;
  letter-spacing: 0;
}

button,
input,
select,
textarea {
  font: inherit;
  letter-spacing: 0;
}

a {
  color: inherit;
  text-decoration: none;
}

.container {
  width: min(1382px, calc(100vw - 58px));
  margin: 0 auto;
}

.bi {
  display: inline-block;
  min-width: 1.1em;
  color: inherit;
  font-family: "bootstrap-icons" !important;
  font-style: normal;
  font-weight: normal !important;
  font-variant: normal;
  line-height: 1;
  text-transform: none;
  vertical-align: -0.125em;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.bi-chevron-left::before {
  content: "\f284";
}

.bi-chevron-right::before {
  content: "\f285";
}

.bi-backspace-reverse-fill::before {
  content: "\f157";
}

.bi-calendar-check::before {
  content: "\f1e2";
}

.bi-calendar-week::before {
  content: "\f1f3";
}

.bi-people::before {
  content: "\f4d0";
}

.bi-speedometer2::before {
  content: "\f580";
}

.btn {
  display: inline-flex;
  min-height: 31px;
  align-items: center;
  justify-content: center;
  gap: 6px;
  border: 1px solid transparent;
  border-radius: 4px;
  padding: 6px 12px;
  cursor: pointer;
  white-space: nowrap;
  background: #fff;
  color: var(--text);
}

.btn-primary {
  background: var(--primary);
  border-color: var(--primary);
  color: #fff;
}

.btn-primary.active {
  filter: brightness(0.82);
}

.btn-dark {
  background: var(--dark-accent);
  border-color: var(--dark-accent);
  color: #fff;
}

.btn-outline-dark {
  color: #212529;
  border-color: #212529;
  background: #fff;
}

.btn-outline-secondary {
  color: var(--primary);
  border-color: var(--primary);
  background: #fff;
}

.btn-success {
  background: var(--success);
  border-color: var(--success);
  color: #fff;
}

.btn-danger {
  background: var(--danger);
  border-color: var(--danger);
  color: #fff;
}

.btn--color {
  background: var(--dark-accent);
  border-color: var(--dark-accent);
  color: #fff;
}

.btn-sm,
.btn-xs {
  min-height: 23px;
  padding: 3px 8px;
  font-size: 12px;
}

.square {
  width: 32px;
  padding: 6px 0;
}

select,
input,
textarea {
  border: 1px solid #ced4da;
  border-radius: 4px;
  background: #fff;
  color: var(--text);
}

input,
select {
  min-height: 38px;
  padding: 6px 10px;
}

textarea {
  width: 100%;
  min-height: 110px;
  padding: 8px 10px;
  resize: vertical;
}

input:focus,
select:focus,
textarea:focus {
  border-color: #86b7fe;
  outline: none;
  box-shadow: none;
}

.login-page {
  position: relative;
  min-height: 100vh;
  display: grid;
  place-items: center;
  background: url("../assets/login-background.jpg") no-repeat center center fixed;
  background-size: cover;
  padding: 60px 16px;
}

.login-card {
  position: relative;
  z-index: 1;
  width: 400px;
  height: auto;
  min-height: 400px;
  padding: 30px 17px 12px;
  background: rgba(0, 0, 0, 0.6);
  color: #fff;
}

.logo-badge {
  position: absolute;
  top: -45px;
  right: 25px;
  display: grid;
  width: 90px;
  height: 90px;
  place-items: center;
  background: #fff;
  padding: 10px;
}

.logo-badge img {
  max-width: 70px;
  max-height: 70px;
}

.login-card h6 {
  margin: 0 0 18px -5px;
  color: var(--accent);
  font-size: 12px;
  font-weight: 500;
  line-height: 1;
}

.intro {
  display: block;
  margin-bottom: 14px;
  font-size: 14px;
}

.input-group {
  display: flex;
  align-items: stretch;
  width: 100%;
  margin: 8px 0;
}

.input-group .bi {
  display: grid;
  width: 40px;
  place-items: center;
  background: var(--dark-accent);
  color: var(--accent);
  border-radius: 4px 0 0 4px;
}

.input-group input {
  flex: 1;
  min-width: 0;
  border-radius: 0 4px 4px 0;
}

.pwd input {
  border-radius: 0;
}

.pwd-validation input {
  border-radius: 0 4px 4px 0;
}

.field-icon {
  width: 36px;
  border: 0;
  background: transparent;
  color: var(--accent);
  cursor: pointer;
  font-family: "bootstrap-icons" !important;
  font-size: 14px;
  line-height: 1;
}

.field-icon-validation {
  display: block;
  width: 24px;
  height: 17px;
  margin: 8px 0 12px 0;
  padding: 0;
  text-align: left;
}

.login_btn {
  width: 100%;
  min-height: 38px;
  margin-top: 8px;
  border: 0;
  border-radius: 4px;
  background: var(--accent);
  color: var(--dark-accent);
  cursor: pointer;
}

.login_btn:hover,
.outline:hover {
  background: var(--dark-accent);
  color: var(--accent);
}

.login-form.is-auth-submitting .login_btn,
.admin-login-form.is-auth-submitting .admin-login-submit {
  opacity: 0.82;
  cursor: wait;
}

.login-form.is-auth-submitting .login_btn:disabled,
.admin-login-form.is-auth-submitting .admin-login-submit:disabled {
  color: var(--dark-accent);
}

.btn.is-loading,
.btn.is-loading:disabled,
.btn-primary.is-loading,
.btn-primary.is-loading:disabled,
.btn-success.is-loading,
.btn-success.is-loading:disabled,
.btn-danger.is-loading,
.btn-danger.is-loading:disabled,
.btn-dark.is-loading,
.btn-dark.is-loading:disabled {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  opacity: 0.86;
  color: #fff;
  cursor: wait;
}

.btn.is-loading::before {
  display: inline-block;
  width: 14px;
  height: 14px;
  border: 2px solid currentColor;
  border-right-color: transparent;
  border-radius: 50%;
  content: "";
  animation: lvk-button-spin 0.7s linear infinite;
}

@keyframes lvk-button-spin {
  to {
    transform: rotate(360deg);
  }
}

.form-errors {
  min-height: 22px;
  color: #ffd966;
}

.form-errors:empty {
  min-height: 0;
}

.field-error {
  min-height: 17px;
  color: #ffd966;
  font-size: 14px;
  font-weight: 600;
  line-height: 17px;
}

.field-error:empty {
  min-height: 0;
}

.form-errors label,
.form-errors strong {
  display: block;
  font-size: 14px;
}

.login-links {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: 24px 0 14px;
  color: var(--accent);
}

.outline {
  border: 1px solid rgba(255, 255, 255, 0.8);
  border-radius: 4px;
  background: transparent;
  color: var(--accent);
  cursor: pointer;
}

.tiny {
  min-height: 31px;
  padding: 4px 8px;
  font-size: 14px;
}

.small,
.madeby {
  font-size: 14px;
}

.mobile-only-break {
  display: none;
}

.madeby {
  color: #f9f9f9;
  text-align: center;
}

.madeby a {
  color: #fff;
}

.admin-login-page {
  min-height: 100vh;
  display: grid;
  place-items: center;
  padding-top: 0;
  background:
    linear-gradient(180deg, rgba(42, 132, 128, 0.96) 0%, rgba(25, 92, 90, 0.94) 42%, rgba(1, 14, 14, 0.99) 100%);
  color: #fff;
  font-size: 18px;
  line-height: 27px;
}

.admin-login-card {
  position: relative;
  width: 400px;
  min-height: 400px;
  margin: 0 auto;
  padding: 24px 16px 40px;
  overflow: visible;
  border: 0;
  border-radius: 5px;
  background: rgba(0, 11, 12, 0.86);
}

.admin-logo-link {
  position: absolute;
  top: -45px;
  right: 25px;
  display: block;
  width: 90px;
  height: 90px;
  background: #fff;
  color: var(--accent);
  line-height: 1;
  text-decoration: none;
}

.admin-logo-link img {
  display: block;
  width: 90px;
  height: 90px;
  max-width: none;
  object-fit: contain;
}

.admin-card-title {
  position: static;
  width: 275px;
  height: 24px;
  margin: 0 0 34px;
  display: flex;
  align-items: center;
  border: 0;
  color: #257f82;
  font-size: 14px;
  font-weight: 700;
  line-height: 21px;
}

.admin-login-form {
  position: static;
  width: 368px;
  margin: 0;
}

.admin-login-intro {
  margin: 0 0 18px;
  color: #fff;
  font-size: 16px;
  font-weight: 700;
  line-height: 24px;
}

.admin-input-line {
  display: flex;
  width: 368px;
  height: 38px;
  margin: 0 0 8px;
}

.admin-input-icon {
  display: flex;
  width: 39px;
  height: 38px;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: 4px 0 0 4px;
  background: #236b6d;
  color: var(--accent);
  font-family: "bootstrap-icons" !important;
  font-size: 17px;
  line-height: 38px;
}

.admin-input-icon--user::before {
  content: "\f4da";
}

.admin-input-icon--lock::before {
  content: "\f47b";
}

.admin-input-line input {
  display: block;
  width: 330px;
  height: 38px;
  min-height: 38px;
  margin: 0 0 0 -1px;
  padding: 6px 12px;
  border: 1px solid #ced4da;
  border-radius: 0 4px 4px 0;
  background: #fff;
  color: #5f6770;
  font-size: 18px;
  line-height: 27px;
}

.admin-form-errors {
  height: 0;
  overflow: visible;
  color: #dc3545;
  font-size: 12px;
  line-height: 14px;
}

.admin-form-errors label {
  display: block;
}

.admin-login-submit {
  display: block;
  width: 360px;
  height: 38px;
  margin: 16px 0 0 5px;
  padding: 6px 12px;
  border: 1px solid rgba(0, 0, 0, 0);
  border-radius: 4px;
  background: #5bd8d9;
  color: #205656;
  font-size: 18px;
  line-height: 24px;
  cursor: pointer;
}

.admin-login-footer {
  position: static;
  width: 100%;
  margin: 35px 0 0;
  padding: 0;
  border: 0;
  background: transparent;
  text-align: center;
}

.admin-login-footer a {
  color: rgba(255, 255, 255, 0.78);
  font-size: 13px;
  font-weight: 700;
  line-height: 20px;
  text-decoration: none;
}

.admin-topbar {
  display: flex;
  align-items: center;
  width: 100%;
  height: 62px;
  padding: 0 12px;
  background: #212529;
  color: #fff;
  font-size: 16px;
  line-height: 24px;
}

.admin-quick-links {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 300px;
}

.admin-pill {
  display: inline-flex;
  min-height: 23.1875px;
  align-items: center;
  justify-content: center;
  padding: 1.6px 8px;
  border: 1px solid #4fb0b3;
  border-radius: 15px;
  background: transparent;
  color: #fff;
  font-size: 12px;
  font-weight: 400;
  line-height: 18px;
  white-space: nowrap;
}

.admin-pill--danger {
  border-color: #b33e48;
}

.admin-pill.active {
  background: #fff;
  color: #212529;
}

.admin-home-link {
  display: inline-flex;
  width: 52px;
  height: 46px;
  align-items: center;
  justify-content: center;
  margin-left: 108px;
  margin-right: 0;
  padding: 8px;
  color: #fff;
  font-size: 14.4px;
  line-height: 21.6px;
}

.admin-home-link.active {
  border: 1px solid #fff;
  border-radius: 50%;
}

.admin-main-nav {
  display: flex;
  align-items: center;
  gap: 0;
}

.admin-nav-link {
  display: inline-flex;
  min-height: 42.3984375px;
  align-items: center;
  justify-content: center;
  border: 0;
  padding: 8px;
  background: transparent;
  color: #fff;
  font-family: inherit;
  font-size: 17.6px;
  font-weight: 400;
  line-height: 26.4px;
  text-transform: uppercase;
  white-space: nowrap;
  cursor: pointer;
}

.admin-nav-link[href="/admin/planning.php"] {
  width: 107.0703125px;
  margin-right: 0;
}

.admin-nav-link[href="/admin/page_booking.php"] {
  width: 97.6640625px;
  margin-right: 16px;
}

.admin-nav-link[href="/admin/page_members.php"] {
  width: 102.890625px;
  margin-right: 48px;
}

.admin-options-wrap {
  position: relative;
  display: inline-flex;
  align-items: center;
  margin: 7px 24px 7px 7px;
}

.admin-options {
  width: 96.6015625px;
  min-height: 30px;
  padding: 3px 10px;
  border: 1px solid #fff;
  border-radius: 15px;
  font-size: 14.4px;
  font-weight: 400;
  line-height: 21.6px;
}

.admin-options-menu {
  position: absolute;
  z-index: 1040;
  top: calc(100% + 11px);
  left: -7px;
  display: none;
  min-width: 236px;
  padding: 8px 0;
  border: 1px solid rgba(0, 0, 0, 0.15);
  border-radius: 4px;
  background: #fff;
  color: #212529;
  box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
}

.admin-options-menu.show {
  display: block;
}

.admin-options-item {
  display: block;
  width: 100%;
  padding: 7.4px 16px;
  clear: both;
  background: transparent;
  color: #000;
  font-size: 14.4px;
  font-weight: 400;
  line-height: 21.6px;
  text-align: left;
  white-space: nowrap;
}

.admin-options-item:hover,
.admin-options-item:focus {
  background: #e9ecef;
  color: #1e2125;
}

.admin-caret {
  margin-left: 2px;
  font-size: 13px;
  line-height: 1;
}

.admin-exit {
  min-height: 23.1875px;
  margin-left: auto;
  border-color: #e6c84f;
  color: #fff;
  cursor: pointer;
}

.admin-mobile-toggler {
  display: none;
}

.admin-planning-page {
  padding: 48px 39px 36px;
  box-sizing: border-box;
  width: 100%;
  max-width: 100vw;
  overflow-x: hidden;
}

.admin-planning-filters {
  display: grid;
  grid-template-columns: minmax(260px, 1fr) repeat(5, minmax(150px, 245px)) 31px;
  align-items: center;
  column-gap: 8px;
  width: 100%;
  max-width: 100%;
  margin: 0;
  box-sizing: border-box;
}

.admin-planning-filters h4 {
  min-width: 0;
  margin: 0;
  color: var(--primary);
  font-size: 18px;
  font-weight: 500;
  line-height: 32px;
  text-transform: uppercase;
}

.admin-filter-dropdown {
  position: relative;
  width: 100%;
  min-width: 0;
  min-height: 32px;
}

.admin-filter-button {
  position: relative;
  width: 100%;
  min-height: 32px;
  padding: 4px 26px 4px 10px;
  border: 1px solid #8aaeb0;
  border-radius: 4px;
  background-color: #fff;
  color: #2f6668;
  font-size: 16px;
  line-height: normal;
  text-align: left;
  white-space: nowrap;
  overflow: hidden;
}

.admin-filter-button::after {
  position: absolute;
  top: 50%;
  right: 12px;
  width: 0;
  height: 0;
  margin-top: -2px;
  border-top: 6px solid #2f6668;
  border-right: 5px solid transparent;
  border-left: 5px solid transparent;
  content: "";
}

.admin-filter-dropdown > .dropdown-menu {
  position: absolute;
  top: 34px;
  left: 1px;
  z-index: 1060;
  display: none;
  width: calc(100% - 2px);
  max-height: 540px;
  margin: 0;
  padding: 8px 0 9px;
  overflow-y: auto;
  border: 1px solid rgba(0, 0, 0, 0.15);
  border-radius: 4px;
  background: #fff;
  box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
}

.admin-filter-service > .dropdown-menu {
  width: 529px;
  max-height: 1150px;
}

.admin-filter-contrib > .dropdown-menu {
  width: 249px;
  max-height: 715px;
}

.admin-filter-dropdown > .dropdown-menu > .form-control {
  display: block;
  width: calc(100% - 8px);
  height: 38px;
  margin: 4px 8px;
  padding: 6px 12px;
  border: 1px solid #ced4da;
  border-radius: 4px;
  color: #212529;
  font-size: 16px;
  line-height: 24px;
}

.admin-filter-dropdown.show > .dropdown-menu {
  display: block;
}

.admin-filter-dropdown .dropdown-menu.inner {
  position: static;
  display: block;
  width: 100%;
  max-height: none;
  margin: 0;
  padding: 0;
  border: 0;
  box-shadow: none;
}

.admin-filter-dropdown li {
  display: block;
  width: 100%;
  min-height: 29.59px;
  margin: 0;
  padding: 0;
}

.admin-filter-dropdown .dropdown-item {
  display: block;
  width: 100%;
  min-height: 29.59px;
  margin: 0;
  padding: 4px 12px;
  border: 0;
  background: #fff;
  color: #212529;
  font-size: 16px;
  line-height: 21.6px;
  text-align: left;
  white-space: nowrap;
}

.admin-filter-dropdown .dropdown-item.active,
.admin-filter-dropdown .dropdown-item.selected {
  background: #f5f5f5;
  color: #212529;
}

.admin-calendar-btn {
  display: inline-flex;
  width: 31px;
  height: 31px;
  align-items: center;
  justify-content: center;
  padding: 0;
  border: 1px solid #8aaeb0;
  border-radius: 4px;
  background: #f8f9fa;
  color: var(--primary);
  font-size: 18px;
  cursor: pointer;
}

.planning-shell.admin-planning-shell {
  grid-template-columns: 318px minmax(0, 1fr);
  gap: 24px;
  width: 100%;
  max-width: 100%;
  padding-top: 15px;
  padding-bottom: 0;
  box-sizing: border-box;
}

.model-list.admin-model-list {
  width: 318px;
  padding: 18px 0 0;
}

.admin-model-title {
  width: 318px;
  height: 28px;
  margin-left: 12px;
  color: var(--primary);
  font-size: 12px;
  font-weight: 400;
  line-height: 28px;
  text-align: center;
}

.admin-model-list #external-events {
  width: 318px;
  min-height: 263px;
  margin-left: 12px;
  padding: 10px 6px 6px;
}

.admin-model-list #external-events .fc-event {
  width: 306px;
  height: 29px;
  min-height: 29px;
  margin-bottom: 6px;
}

.admin-model-list #external-events.admin-sortable-models {
  min-height: 0;
  max-height: none;
  overflow: visible;
}

.admin-model-list #external-events.admin-sortable-models .fc-event {
  cursor: grab;
}

.admin-model-list #external-events .editmodel {
  display: block;
  padding: 4px 4px 3px;
  overflow: hidden;
  color: #fff;
  font-size: 12.9px;
  font-weight: 700;
  line-height: 18px;
  text-overflow: clip;
  white-space: nowrap;
}

.admin-order-model {
  display: flex;
  align-items: center;
  gap: 9px;
  margin-top: 5px;
  padding-left: 38px;
  color: #212529;
  font-size: 14px;
  line-height: 21px;
}

.admin-model-sort-notice {
  position: absolute;
  z-index: 1000000;
  top: 1px;
  left: 1px;
  box-sizing: border-box;
  width: calc(100% - 8px);
  height: 227px;
  min-height: 227px;
  padding: 50px;
  background: #cba970;
  color: #fff;
  font-size: 24px;
  line-height: 1.35;
}

.admin-model-sort-notice strong {
  display: block;
  margin-bottom: 44px;
  font-size: 26px;
  font-weight: 700;
}

.admin-model-sort-notice p {
  margin: 0;
  font-size: 24px;
  font-weight: 400;
  line-height: 1.35;
}

.admin-sort-toolbar-hidden {
  display: none !important;
}

.admin-model-sort-harness {
  min-height: 1008.75px;
}

.admin-model-sort-view {
  position: relative;
  min-height: 186px;
}

.admin-model-sort-empty {
  padding: 10px;
  color: #212529;
  font-size: 16px;
  line-height: 24px;
  text-align: center;
}

.admin-switch {
  position: relative;
  display: inline-flex;
  width: 31px;
  height: 14px;
  flex: 0 0 auto;
}

.admin-switch input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.admin-switch span {
  position: absolute;
  inset: 0;
  border: 1px solid #cfd4d8;
  border-radius: 10px;
  background: #f8f9fa;
}

.admin-switch span::after {
  position: absolute;
  top: 2px;
  left: 2px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #adb5bd;
  content: "";
}

.admin-switch input:checked + span {
  background: #d6f5f5;
}

.admin-switch input:checked + span::after {
  left: 18px;
  background: var(--primary);
}

.admin-calendar {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  overflow: hidden;
}

.admin-calendar .calendar-toolbar {
  width: 100%;
  margin-bottom: 8px;
}

.admin-calendar .month-head-grid {
  height: 26.59px;
  margin-bottom: 2.61px;
  transform: translateY(3.59px);
}

.admin-calendar .month-head-grid div {
  line-height: 24px;
}

.admin-calendar .fc-view-harness {
  width: 100%;
}

.admin-calendar .month-grid {
  grid-template-rows: repeat(6, 163.33px);
  height: 980px;
}

.admin-calendar .fc-dayGridMonth-view {
  min-height: 0;
}

@media (max-width: 1500px) {
  .admin-planning-filters {
    grid-template-columns: minmax(220px, 1fr) repeat(5, minmax(130px, 1fr)) 31px;
  }

  .admin-filter-button {
    font-size: 14px;
  }
}

@media (max-width: 1100px) {
  .admin-planning-filters {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    row-gap: 8px;
  }

  .admin-planning-filters h4,
  .admin-calendar-btn {
    grid-column: 1 / -1;
  }

  .planning-shell.admin-planning-shell {
    grid-template-columns: 1fr;
  }

  .model-list.admin-model-list {
    width: min(318px, 100%);
  }
}

.admin-simple-page {
  max-width: 1180px;
  margin: 44px auto 80px;
  padding: 0 24px;
}

.admin-simple-header {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 24px;
  margin: 0 0 22px;
}

.admin-simple-header h3 {
  margin: 0;
  color: var(--primary);
  font-size: 21px;
  font-weight: 700;
  line-height: 31px;
  text-transform: uppercase;
}

.admin-simple-header p {
  margin: 0;
  color: #5f666d;
  font-size: 14px;
  line-height: 21px;
}

.admin-contributors-page {
  width: calc(100vw - 82px);
  margin: 48px 41px 80px;
}

.admin-contributors-toolbar {
  position: relative;
  min-height: 102px;
  margin: 0;
}

.admin-contributors-toolbar h3 {
  display: inline-block;
  margin: 0 0 8px;
  color: #247879;
  font-size: 19.2px;
  font-weight: 500;
  line-height: 23.04px;
  text-transform: uppercase;
}

.admin-contributors-search {
  position: absolute;
  top: 0;
  right: 20px;
  display: flex;
  align-items: stretch;
  width: max-content;
  height: 38px;
  margin: 0;
}

.admin-contributors-search label {
  margin: 0 8px 0 0;
  color: #212529;
  font-size: 16px;
  line-height: 38px;
}

.admin-contributors-search input {
  flex: 0 0 251px;
  width: 251px;
  max-width: 251px;
  height: 38px;
  min-height: 38px;
  border-radius: 3.2px 0 0 3.2px;
}

.admin-contributors-search .btn {
  height: 38px;
  min-height: 38px;
  padding: 4px 8px;
  font-size: 14px;
  line-height: 21px;
}

.admin-contributors-actions {
  position: absolute;
  top: 46px;
  right: 0;
  left: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.admin-contributors-actions .btn {
  min-height: 31.6px;
  padding: 4px 8px;
  font-size: 14px;
  line-height: 21px;
}

.admin-contributors-actions label {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  color: #212529;
  font-size: 16px;
  line-height: 24px;
}

.admin-contributors-actions select {
  width: 132px;
  height: 32px;
  min-height: 32px;
  padding: 4px 36px 4px 8px;
  font-size: 14.4px;
  line-height: 21.6px;
}

.admin-contributors-table-wrap {
  width: 100%;
  overflow-x: auto;
}

.admin-contributors-table {
  width: 100%;
  margin: 0 0 16px;
}

.admin-contributors-table th,
.admin-contributors-table td {
  border-color: #dee2e6;
  color: #212529;
  vertical-align: middle;
}

.admin-contributors-table thead th {
  height: 42px;
  font-size: 16px;
  font-weight: 700;
  line-height: 24px;
}

.admin-contributors-table tbody tr {
  cursor: default;
}

.admin-contributors-table tbody td {
  font-size: 14px;
  font-weight: 400;
  line-height: 21px;
}

.admin-contributors-table .left {
  text-align: left;
}

.modal.admin-contributor-editor-modal {
  width: 1000px;
  max-width: calc(100vw - 40px);
  padding: 0;
  background: transparent;
  border-radius: 4px;
  box-shadow: none;
}

.admin-contributor-source-modal {
  width: 1000px;
  max-width: 100%;
  background: #fff;
  border-radius: 4px;
  box-shadow: var(--shadow);
  overflow: hidden;
}

.admin-contributor-source-modal--edit {
  min-height: 716.578125px;
}

.admin-contributor-source-modal--edit .admin-contributor-source-body {
  padding-top: 20px;
}

.admin-contributor-source-modal--edit .admin-contributor-linked-member {
  width: 215.2109375px;
}

.admin-contributor-source-modal--edit .admin-contributor-main-actions {
  left: 390px;
}

.admin-contributor-source-modal--edit .admin-contributor-attached-message {
  width: 796px;
  margin-left: -77.5px;
  background: #f1f1f1;
}

.admin-contributor-source-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 65px;
  padding: 16px;
  border-bottom: 1px solid #dee2e6;
}

.admin-contributor-source-header .modal-title {
  margin: 0;
  color: #65bfc1;
  font-size: 20px;
  font-weight: 700;
  line-height: 24px;
}

.admin-contributor-source-body {
  padding: 49px 16px 30px;
}

.admin-contributor-source-form {
  display: block;
  position: relative;
  height: 520px;
  color: #212529;
  font-size: 16px;
  line-height: 24px;
}

.admin-contributor-source-row {
  display: grid;
  grid-template-columns: 240px 718.5px;
  column-gap: 8.5px;
  position: absolute;
  left: 0;
  width: 967px;
  margin-bottom: 0;
}

.admin-contributor-row-description { top: 0; }
.admin-contributor-row-member { top: 39px; }
.admin-contributor-row-payment { top: 80px; }
.admin-contributor-row-recapmail { top: 119px; }
.admin-contributor-row-visible { top: 158px; }
.admin-contributor-row-planning { top: 291px; }
.admin-contributor-row-list { top: 330px; }
.admin-contributor-row-note { top: 373px; }
.admin-contributor-row-attached { top: 437px; }

.admin-contributor-source-modal--edit .admin-contributor-row-planning { top: 264px; }
.admin-contributor-source-modal--edit .admin-contributor-row-list { top: 318px; }
.admin-contributor-source-modal--edit .admin-contributor-row-note { top: 351px; }
.admin-contributor-source-modal--edit .admin-contributor-row-attached { top: 415px; }

.admin-contributor-source-modal--edit .admin-contributor-row-list > div {
  display: block;
}

.admin-contributor-source-modal--edit .admin-contributor-row-list > div label {
  display: flex;
  width: max-content;
  height: 21px;
  min-height: 21px;
  margin-bottom: 0;
  align-items: center;
  line-height: 21px;
}

.admin-contributor-source-modal--edit .admin-contributor-row-list > div label + label {
  margin-top: 0;
}

.admin-contributor-source-modal--edit .admin-contributor-radio-row > div {
  margin-left: 160px;
}

.admin-contributor-source-modal--edit .admin-contributor-row-planning > div label + label {
  margin-left: -7.1px;
}

.admin-contributor-source-form--errors {
  height: 620px;
}

.admin-contributor-source-form--errors .admin-contributor-row-description { top: 0; }
.admin-contributor-source-form--errors .admin-contributor-row-member { top: 64px; }
.admin-contributor-source-form--errors .admin-contributor-row-payment { top: 128px; }
.admin-contributor-source-form--errors .admin-contributor-row-recapmail { top: 203px; }
.admin-contributor-source-form--errors .admin-contributor-row-visible { top: 242px; }
.admin-contributor-source-form--errors .admin-contributor-row-planning { top: 375px; }
.admin-contributor-source-form--errors .admin-contributor-row-list { top: 414px; }
.admin-contributor-source-form--errors .admin-contributor-row-note { top: 457px; }
.admin-contributor-source-form--errors .admin-contributor-row-attached { top: 521px; }

.admin-contributor-source-modal--edit .admin-contributor-source-form--errors .admin-contributor-row-description {
  top: -22px;
}

.admin-contributor-source-modal--edit .admin-contributor-source-form--errors .admin-contributor-row-payment {
  top: 82px;
}

.admin-contributor-source-row label {
  min-height: 31px;
  padding-top: 3px;
  font-weight: 400;
}

.admin-contributor-source-row label span {
  margin-left: 2px;
}

.admin-contributor-source-row .form-control,
.admin-contributor-source-row .form-select {
  height: 31px;
  min-height: 31px;
  padding: 4px 8px;
  font-size: 14px;
  line-height: 21px;
}

.admin-contributor-source-row .contributor-description-input {
  width: 718.5px;
}

.admin-contributor-source-row .contributor-short-input {
  width: 141px;
}

.admin-contributor-member-row {
  display: flex;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 4.1875px;
  min-height: 31px;
}

.admin-contributor-member-row input[name="memberid"] {
  box-sizing: border-box;
  width: 185px;
  height: 30px;
  min-height: 30px;
  padding: 1px 2px;
  border: 1px solid #ced4da;
  border-radius: 0;
  background: #fff;
  color: #212529;
  font-size: 14px;
  line-height: 21px;
}

.admin-contributor-linked-member,
.admin-contributor-member-pick {
  display: inline-flex;
  width: 235.890625px;
  height: 32px;
  min-height: 32px;
  align-items: center;
  padding: 4px 8px;
  border-radius: 3.2px;
  font-size: 14px;
  line-height: 21px;
}

.admin-contributor-radio-row > div {
  display: flex;
  align-items: center;
  gap: 4px;
  margin-left: 165px;
  min-height: 24px;
}

.admin-contributor-radio-row > div label {
  display: inline-flex;
  align-items: center;
  min-height: 20px;
  font-weight: 400;
}

.admin-contributor-radio-row input[type="radio"] {
  width: 13px;
  height: 13px;
  min-height: 13px;
  padding: 0;
}

.admin-contributor-linked-member {
  border: 1px solid #80bd96;
  color: #3b9d5e;
  font-weight: 700;
}

.admin-contributor-field-stack {
  display: block;
}

.admin-contributor-source-modal .error {
  border-color: #dc3545;
  color: #212529;
}

.admin-contributor-source-modal label.error,
.admin-contributor-error-label {
  display: block;
  width: max-content;
  min-height: 0;
  padding-top: 0;
  margin: 2px 0 0;
  border: 0;
  color: #dc3545;
  font-size: 14px;
  font-weight: 400;
  line-height: 21.59375px;
}

.admin-contributor-source-row .contributor-short-input + .admin-contributor-error-label {
  width: 141px;
}

.admin-contributor-member-row .admin-contributor-error-label {
  flex-basis: 100%;
}

.admin-contributor-main-actions {
  position: absolute;
  top: 213px;
  left: 409px;
  display: flex;
  gap: 4px;
  margin: 0;
}

.admin-contributor-main-actions .btn {
  height: 38px;
  padding: 6px 12px;
  border-radius: 4px;
  font-size: 16px;
  line-height: 24px;
}

.admin-contributor-separator {
  position: absolute;
  top: 286px;
  left: 0;
  width: 967px;
  height: 1px;
  margin: 0;
  border-top: 1px solid #dee2e6;
}

.admin-contributor-note-row .small {
  display: block;
  width: 525.5625px;
  margin-left: 165px;
  font-size: 14px;
  line-height: 17.5px;
}

.admin-contributor-attached-row > label {
  display: block;
}

.admin-contributor-attached-row > label > span {
  display: block;
  margin-bottom: 8px;
}

.admin-contributor-attached-row > label .btn {
  height: 31px;
  padding: 4px 8px;
  border-radius: 3.2px;
  font-size: 14px;
  line-height: 21px;
}

.admin-contributor-attached-message {
  width: 100%;
  min-height: 109px;
  padding: 5px 6px;
  background: #f1f1f1;
  font-size: 14px;
  line-height: 20px;
}

.admin-contributor-attached-badge {
  display: inline-block;
  margin: 0 2px 2px 0;
  padding: 1px 6px;
  border-radius: 4px;
  background: #d9edf7;
  color: #31708f;
  font-size: 12px;
  line-height: 17px;
  white-space: nowrap;
}

.modal.admin-contributor-members-modal {
  width: 1000px;
  max-width: calc(100vw - 40px);
  height: calc(100vh - 56px);
  max-height: 844px;
  padding: 0;
  overflow: hidden;
  background: #fff;
  border-radius: 4px;
  box-shadow: var(--shadow);
}

.admin-contributor-members-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 65px;
  padding: 16px;
  border-bottom: 1px solid #dee2e6;
}

.admin-contributor-members-header .modal-title {
  margin: 0;
  color: #212529;
  font-size: 20px;
  font-weight: 700;
  line-height: 24px;
}

.admin-contributor-members-body {
  height: calc(100% - 65px);
  padding: 16px !important;
  overflow-y: auto;
}

.admin-contributor-members-search {
  display: flex;
  align-items: center;
  gap: 0;
  margin-bottom: 12px;
  color: #212529;
  font-size: 16px;
  line-height: 24px;
}

.admin-contributor-members-search label {
  width: 0;
  margin-right: 0;
  overflow: hidden;
  white-space: nowrap;
  font-weight: 400;
}

.admin-contributor-members-search input {
  flex: 1 1 auto;
  width: auto;
  min-width: 0;
  height: 31px;
  border-radius: 4px 0 0 4px;
}

.admin-contributor-members-search .btn {
  height: 31px;
  padding: 4px 8px;
  border-radius: 0;
  font-size: 14px;
  line-height: 21px;
}

.admin-contributor-members-search .btn:last-child {
  border-radius: 0 4px 4px 0;
}

.admin-contributor-members-list {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 0;
}

.admin-contributor-members-list .mbre {
  display: grid;
  grid-template-columns: 28px minmax(160px, 1.25fr) minmax(120px, 1fr) 76px minmax(180px, 1.4fr);
  align-items: center;
  width: 100%;
  min-height: 29px;
  padding: 0 8px 0 0;
  border: 0;
  border-bottom: 2px solid #fff;
  background: #fff;
  color: #212529;
  text-align: left;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 28px;
  appearance: none;
}

.admin-contributor-members-list .mbre::before {
  content: "+";
  justify-self: center;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: #2fa746;
  color: #fff;
  font-size: 20px;
  font-weight: 400;
  line-height: 18px;
}

.admin-contributor-members-list .mbre.lmoins::before {
  content: "−";
  background: #df3d36;
  font-size: 22px;
  line-height: 18px;
}

.admin-contributor-members-list .mbre:nth-child(even),
.admin-contributor-members-list .mbre.lmoins {
  background: #f2f2f2;
}

.admin-contributor-members-list .member-last {
  font-weight: 400;
}

.admin-contributor-members-list .member-last,
.admin-contributor-members-list .member-first,
.admin-contributor-members-list .member-postcode,
.admin-contributor-members-list .member-city {
  font-family: Arial, Helvetica, sans-serif;
}

.admin-contributor-members-list .member-postcode,
.admin-contributor-members-list .member-city {
  color: #212529;
}

@media (max-width: 640px) {
  .admin-contributor-members-list .mbre {
    grid-template-columns: 28px minmax(84px, 1fr) minmax(74px, 0.8fr) 52px minmax(82px, 0.95fr);
    min-height: 30px;
    padding-right: 2px;
    font-size: 16px;
    line-height: 20px;
  }

  .admin-contributor-members-list .member-last,
  .admin-contributor-members-list .member-first,
  .admin-contributor-members-list .member-postcode,
  .admin-contributor-members-list .member-city {
    overflow-wrap: anywhere;
  }
}

.admin-source-blocked {
  max-width: 780px;
  padding: 18px 20px;
  border: 1px solid #d64855;
  border-radius: 4px;
  background: #fff7f8;
  color: #2b2f33;
  font-size: 15px;
  line-height: 22px;
}

.admin-source-blocked strong {
  display: block;
  margin-bottom: 8px;
  color: #b82936;
  font-size: 16px;
  line-height: 24px;
}

.admin-source-blocked p {
  margin: 0 0 8px;
}

.admin-source-blocked p:last-child {
  margin-bottom: 0;
}

.admin-parameters-page {
  width: calc(100vw - 58px);
  max-width: 1382px;
  margin: 0 auto 50px;
  color: #212529;
}

.admin-parameters-page h3 {
  margin: 0 0 20px;
  color: var(--primary);
  font-size: 20px;
  font-weight: 700;
  line-height: 30px;
}

.admin-parameters-warning {
  margin: 0 0 20px;
  padding: 12px 16px;
  border: 1px solid #f5c2c7;
  border-radius: 4px;
  background: #f8d7da;
  color: #842029;
  font-size: 14px;
  line-height: 21px;
}

.admin-parameters-form {
  width: 100%;
}

.admin-parameters-row {
  display: grid;
  grid-template-columns: minmax(260px, 33.333%) minmax(0, 1fr);
  column-gap: 12px;
  align-items: start;
  min-height: 31px;
  margin: 0 0 4px;
}

.admin-parameters-row label {
  min-height: 31px;
  padding: 5px 12px;
  color: #212529;
  font-size: 14px;
  font-weight: 400;
  line-height: 21px;
}

.admin-parameters-control {
  width: 100%;
  min-height: 31px;
  height: 31px;
  padding: 4px 8px;
  border: 1px solid #ced4da;
  border-radius: 4px;
  background-color: #fff;
  color: #212529;
  font-size: 14px;
  line-height: 21px;
}

.admin-parameters-row select.admin-parameters-control {
  max-width: 437px;
  padding-right: 36px;
}

.admin-parameters-row--narrow select.admin-parameters-control {
  max-width: 206px;
}

.admin-parameters-row--textarea {
  min-height: 52px;
  margin-bottom: 8px;
}

.admin-parameters-row--textarea textarea.admin-parameters-control {
  min-height: 52px;
  height: 52px;
  resize: vertical;
}

.admin-parameters-row--crm {
  margin-top: 20px;
  margin-bottom: 32px;
}

.admin-parameters-row--crm .btn {
  width: fit-content;
  min-height: 31px;
  padding: 4px 8px;
  font-size: 14px;
  line-height: 21px;
}

.admin-parameters-actions {
  display: flex;
  justify-content: center;
  margin: 56px 0 0;
}

.admin-parameters-actions .btn {
  min-height: 38px;
  padding: 6px 12px;
  border-color: #dc3545;
  background: #dc3545;
  color: #fff;
  font-size: 16px;
  line-height: 24px;
}

.admin-parameters-widget {
  display: grid;
  grid-template-columns: 25% minmax(0, 1fr);
  column-gap: 12px;
  margin: 58px 0 48px;
}

.admin-parameters-widget label {
  padding: 5px 12px;
  font-size: 14px;
  line-height: 21px;
}

.admin-parameters-widget p {
  margin: 0 0 8px;
  color: #212529;
  font-size: 14px;
  line-height: 21px;
}

.admin-parameters-widget textarea {
  width: 100%;
  min-height: 52px;
  height: 52px;
  margin: 8px 0;
  padding: 4px 8px;
  border: 1px solid #ced4da;
  border-radius: 4px;
  background: #e9ecef;
  color: #212529;
  font-size: 14px;
  line-height: 21px;
  resize: vertical;
}

.admin-parameters-version {
  color: #212529;
  font-size: 16px;
  line-height: 24px;
}

@media (min-width: 769px) {
  .admin-parameters-row:has([name="smtp_host"]) {
    margin-top: 20px;
  }

  .admin-parameters-row:has([name="SMTPAuth"]),
  .admin-parameters-row:has([name="SMTPSecure"]) {
    margin-bottom: 11px;
  }

  .admin-parameters-row:has([name="showmemberinfo"]) {
    margin-top: 18px;
    margin-bottom: 8px;
  }

  .admin-parameters-row:has([name="copycancelevent"]) {
    margin-bottom: 12px;
  }
}

.admin-simple-table {
  margin: 0;
  color: #2b2f33;
  font-size: 14px;
  line-height: 21px;
}

.admin-simple-table th {
  color: var(--primary);
  font-weight: 700;
  white-space: nowrap;
}

.admin-simple-table th,
.admin-simple-table td {
  padding: 10px 8px;
  text-align: center;
  vertical-align: middle;
}

.admin-simple-table .left {
  text-align: left;
}

.admin-status {
  display: inline-flex;
  min-width: 0;
  width: 16px;
  height: 16px;
  align-items: center;
  justify-content: center;
  padding: 0;
  border-radius: 0;
  color: #fff;
  font-size: 0;
  font-weight: 700;
  line-height: 0;
}

.admin-status--ok {
  background: #198754;
}

.admin-status--off {
  background: #6c757d;
}

.admin-empty-state {
  padding: 18px 20px;
  border-left: 4px solid var(--primary);
  background: #f4f6f6;
  color: #2b2f33;
  font-size: 15px;
  line-height: 24px;
}

.admin-empty-state code {
  color: var(--primary);
  font-family: inherit;
  font-weight: 700;
}

.admin-parameter-groups {
  display: grid;
  gap: 26px;
}

.admin-parameter-group h4 {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 10px;
  color: var(--primary);
  font-size: 18px;
  font-weight: 700;
  line-height: 27px;
}

.admin-parameter-group h4 span {
  display: inline-flex;
  min-width: 26px;
  height: 22px;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  background: #606060;
  color: #fff;
  font-size: 12px;
  line-height: 18px;
}

.admin-color-cell {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.admin-color-swatch {
  display: inline-flex;
  width: 28px;
  height: 18px;
  border: 1px solid rgba(0, 0, 0, 0.18);
  border-radius: 3px;
}

.admin-dashboard-source-page {
  width: calc(100% - 82px);
  max-width: 1358px;
  margin: 46px auto 60px;
  color: #303030;
  font-size: 13px;
  line-height: 19px;
}

.admin-dashboard-source-page h3 {
  margin: 0 0 22px;
  color: var(--primary);
  font-size: 20px;
  font-weight: 700;
  line-height: 24px;
  text-transform: uppercase;
}

.admin-dashboard-date {
  margin: -50px 0 28px;
  color: #565b60;
  font-size: 15px;
  line-height: 22px;
  text-align: right;
}

.admin-dashboard-rate-chart {
  margin: 0 0 18px;
  padding: 18px 18px 12px;
  border: 1px solid #dedede;
  background: #fbfbfb;
}

.admin-dashboard-rate-chart__head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  color: #606060;
  font-size: 14px;
  line-height: 22px;
  text-transform: uppercase;
}

.admin-dashboard-rate-chart__head select {
  width: 164px;
  height: 31px;
  padding: 3px 8px;
  border: 1px solid #ced4da;
  border-radius: 0;
  background: #fff;
  color: #303030;
  font-size: 14px;
  line-height: 21px;
  text-transform: none;
}

.rate-resa {
  color: #5d8b8b;
}

.rate-places {
  color: #72b5d0;
}

.rate-events {
  color: #c66352;
}

.admin-dashboard-rate-chart__plot {
  position: relative;
  height: 260px;
  margin-top: 12px;
  padding-left: 32px;
}

.admin-dashboard-rate-chart__plot::before {
  content: "";
  position: absolute;
  inset: 0 0 31px 32px;
  background: repeating-linear-gradient(to top, #e4e7e9 0, #e4e7e9 1px, transparent 1px, transparent 42px);
  border-left: 1px solid #d0d4d7;
  border-bottom: 1px solid #d0d4d7;
}

.admin-dashboard-rate-chart__axis {
  position: absolute;
  top: 0;
  bottom: 31px;
  left: 0;
  width: 28px;
  color: #6c6c6c;
  font-size: 12px;
  line-height: 12px;
}

.admin-dashboard-rate-chart__axis span {
  position: absolute;
  right: 7px;
  transform: translateY(50%);
}

.admin-dashboard-rate-chart__groups {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  height: 100%;
}

.admin-dashboard-rate-chart__group {
  position: relative;
  display: flex;
  min-width: 0;
  height: 100%;
  align-items: flex-end;
  justify-content: center;
  padding-bottom: 31px;
  border-left: 1px solid rgba(0, 0, 0, 0.08);
}

.admin-dashboard-rate-chart__bars {
  display: flex;
  height: 216px;
  align-items: flex-end;
  gap: 8px;
}

.rate-bar {
  display: block;
  width: 55px;
  min-height: 8px;
  border: 3px solid;
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.45);
}

.rate-bar--resa {
  border-color: #5d8b8b;
}

.rate-bar--places {
  border-color: #72b5d0;
}

.rate-bar--events {
  border-color: #d18070;
}

.admin-dashboard-rate-chart__label {
  position: absolute;
  right: 4px;
  bottom: 0;
  left: 4px;
  overflow: hidden;
  color: #666;
  font-size: 12px;
  line-height: 17px;
  text-align: center;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.admin-dashboard-columns {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px 16px;
  align-items: start;
}

.admin-dashboard-block h4 {
  position: relative;
  margin: 0 0 9px;
  color: #2d8586;
  font-size: 15px;
  font-weight: 700;
  line-height: 20px;
  text-transform: uppercase;
}

.admin-dashboard-block {
  min-width: 0;
  padding: 14px 14px 15px;
  border: 1px solid #dedede;
  background: #fbfbfb;
}

.admin-dashboard-block--wide {
  grid-column: 1 / -1;
}

.admin-dashboard-controls {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 9px;
  align-items: center;
  margin: 0 0 7px;
  color: #303030;
  font-size: 12px;
  line-height: 18px;
}

.admin-dashboard-controls select {
  width: auto;
  min-width: 136px;
  height: 31px;
  padding: 3px 28px 3px 8px;
  border: 1px solid #ced4da;
  border-radius: 4px;
  background-color: #fff;
  color: #303030;
  font-size: 12px;
  line-height: 18px;
}

.admin-dashboard-controls .copy {
  height: 26px;
  padding: 1px 8px;
  border: 1px solid #1f7f81;
  border-radius: 4px;
  background: #fff;
  color: #1f7f81;
  font-size: 12px;
  line-height: 18px;
}

.admin-dashboard-source-table {
  width: 100%;
  margin: 0;
  border-collapse: collapse;
  color: #303030;
  font-size: 14px;
  line-height: 21px;
  table-layout: fixed;
}

.admin-dashboard-source-table th,
.admin-dashboard-source-table td {
  border-top: 1px solid #dee2e6;
  overflow: hidden;
  text-overflow: clip;
  vertical-align: top;
  white-space: nowrap;
}

.admin-dashboard-source-table th {
  padding: 12px 8px;
}

.admin-dashboard-source-table td {
  padding: 9px 8px;
}

.admin-dashboard-source-table th {
  background: #2f7f7e;
  color: #fff;
  font-weight: 700;
}

.admin-dashboard-source-table tbody tr:nth-child(odd) {
  background: rgba(0, 0, 0, 0.05);
}

.admin-dashboard-source-table tbody tr.table-active {
  background: rgba(0, 0, 0, 0.08);
  font-weight: 700;
}

.dashboard-row-icon {
  position: relative;
  display: inline-block;
  width: 15px;
  height: 15px;
  margin-right: 4px;
  color: #202428;
  vertical-align: -2px;
}

.dashboard-row-icon-search::before {
  content: "";
  position: absolute;
  left: 2px;
  top: 2px;
  width: 7px;
  height: 7px;
  border: 1.7px solid currentColor;
  border-radius: 50%;
}

.dashboard-row-icon-search::after {
  content: "";
  position: absolute;
  left: 9px;
  top: 9px;
  width: 6px;
  height: 1.8px;
  background: currentColor;
  transform: rotate(45deg);
  transform-origin: left center;
}

.dashboard-row-icon-person::before {
  content: "";
  position: absolute;
  left: 5px;
  top: 1px;
  width: 6px;
  height: 6px;
  background: currentColor;
  border-radius: 50%;
}

.dashboard-row-icon-person::after {
  content: "";
  position: absolute;
  left: 2px;
  top: 8px;
  width: 12px;
  height: 7px;
  background: currentColor;
  border-radius: 7px 7px 2px 2px;
}

.dashboard-booking-badge {
  display: inline-block;
  min-width: 26px;
  padding: 1px 3px;
  border-radius: 4px;
  color: #fff;
  font-size: 10px;
  font-weight: 700;
  line-height: 14px;
  text-align: center;
}

.dashboard-booking-badge--full {
  background: #288755;
}

.dashboard-booking-badge--partial {
  background: #f2c235;
}

.admin-dashboard-source-table--wide {
  min-width: 100%;
}

.admin-dashboard-cron {
  margin: 34px 0 0;
  padding: 17px 19px;
  border-left: 4px solid #28a745;
  background: #e9f8e9;
  color: #1f7f3d;
  font-size: 14px;
  line-height: 22px;
}

.topbar {
  min-height: 96px;
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 0 12px;
}

.navbar-brand {
  display: flex;
  width: 416px;
  flex: 0 0 416px;
  height: 80px;
  align-items: center;
  margin-right: 16px;
  padding: 5px 0;
}

.navbar-brand img {
  width: 70px;
  height: 70px;
}

.navbar-collapse {
  display: flex;
  width: 100%;
  justify-content: flex-end;
  align-items: center;
  gap: 0;
}

.nav-link {
  display: inline-flex;
  min-height: 32px;
  align-items: center;
  border: 0;
  background: transparent;
  color: var(--dark-accent);
  font-size: 16px;
  font-weight: 700;
  line-height: 16px;
  margin: 0 0 0 10px;
  padding: 8px 15px;
  cursor: pointer;
  white-space: nowrap;
}

.nav-link span {
  white-space: nowrap;
}

.nav-link.active span {
  border-bottom: 1px solid currentColor;
  padding-bottom: 1px;
}

.nav-link:hover {
  color: var(--dark-accent);
}

.navbar-toggler {
  display: none;
  width: 42px;
  height: 36px;
  margin-left: auto;
  border: 1px solid var(--line);
  border-radius: 4px;
  background: #fff;
}

.navbar-toggler span {
  display: block;
  width: 20px;
  height: 2px;
  margin: 4px auto;
  background: #222;
}

.front {
  padding-top: 42px;
  min-height: 620px;
}

.hello {
  margin: 0 0 42px;
  text-align: center;
}

.account-block {
  margin: 0 0 60px;
}

.account-block h5 {
  margin: 0 0 14px;
  border-bottom: 1px solid #222;
  color: var(--dark-accent);
  padding: 0 0 12px;
  font-size: 20px;
  font-weight: 700;
}

.table {
  width: 100%;
  border-collapse: collapse;
}

.table th,
.table td {
  border-top: 1px solid var(--line);
  padding: 8px;
  vertical-align: middle;
  text-align: left;
}

.table.admin-dashboard-source-table th,
.table.admin-dashboard-source-table td {
  border-top-color: #dee2e6;
  overflow: hidden;
  text-overflow: clip;
  vertical-align: top;
  white-space: nowrap;
}

.table.admin-dashboard-source-table th {
  padding: 10px 8px;
}

.table.admin-dashboard-source-table td {
  padding: 9px 8px;
}

.table.admin-dashboard-source-table--wide td {
  padding: 6.5px 8px;
}

.admin-color-cell span {
  width: 58px;
  height: 23px;
  border: 1px solid rgba(0, 0, 0, 0.25);
}

.admin-reference-page {
  max-width: none;
  width: calc(100vw - 106px);
  margin-top: 48px;
  padding: 0;
}

.admin-reference-header {
  align-items: flex-start;
  margin-bottom: 8px;
}

.admin-reference-header h3 {
  font-size: 18.5px;
  line-height: 23px;
}

.admin-reference-search {
  display: flex;
  align-items: center;
  gap: 0;
  margin-left: auto;
}

.admin-reference-search label,
.admin-reference-actions label {
  color: #212529;
  font-size: 14px;
  line-height: 21px;
}

.admin-reference-search label {
  margin-right: 8px;
}

.admin-reference-search input {
  width: 251px;
  min-height: 38px;
}

.admin-reference-search .btn {
  min-height: 38px;
  padding: 6px 12px;
}

.admin-reference-actions {
  display: flex;
  align-items: center;
  gap: 18px;
  margin: 0 0 24px;
  padding-left: 8px;
}

.admin-reference-actions label {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-left: auto;
}

.admin-reference-actions select {
  height: 31.59375px;
  min-height: 31.59375px;
  width: 189px;
  padding: 4px 10px;
  font-size: 14px;
  line-height: 21px;
}

.admin-reference-actions .btn-sm {
  min-height: 31.59375px;
  padding: 4px 8px;
  font-size: 14px;
  line-height: 21px;
}

.admin-reference-table {
  width: 100%;
}

.admin-flashinfo-page .admin-reference-actions,
.admin-subscribers-page .admin-reference-actions {
  margin-bottom: 12px;
}

.admin-flashinfo-actions .btn-sm {
  margin-left: 0;
}

.admin-subscribers-url {
  margin: 0 0 12px;
  color: #212529;
  font-size: 14px;
  line-height: 21px;
}

.admin-subscribers-page {
  position: relative;
  width: calc(100vw - 58px);
  max-width: none;
  margin-top: 48px;
  padding: 0 12px;
}

.admin-subscribers-url a {
  color: #2c8782;
  text-decoration: none;
}

.admin-subscribers-actions {
  position: absolute;
  right: 12px;
  top: 0;
  justify-content: flex-end;
}

.admin-subscribers-actions label {
  margin-left: auto;
  color: transparent;
  font-size: 0;
  line-height: 0;
}

.admin-subscribers-actions select {
  width: 73px;
  height: 31.59px;
  min-height: 31.59px;
  color: #212529;
  font-size: 14.4px;
  line-height: 21.6px;
}

.admin-subscribers-page .admin-reference-header {
  margin-bottom: 8px;
}

.admin-subscribers-page .table-responsive {
  margin-top: 27px;
}

.admin-flashinfo-message-row textarea {
  min-height: 74.78125px;
  height: 74.78125px;
}

.admin-reference-page--rooms .admin-reference-table {
  height: 123px;
}

.admin-reference-table thead th {
  border-top: 0;
  border-color: #3f817d;
  background: #3f817d;
  color: #fff;
  font-weight: 700;
}

.admin-flashinfo-table thead th,
.admin-subscribers-table thead th {
  border-color: #3f817d;
  background: #3f817d;
  color: #fff;
}

.admin-flashinfo-table .admin-source-sort {
  color: rgba(255, 255, 255, 0.74);
  font-size: 10px;
  line-height: 1;
}

.admin-reference-sort {
  display: inline-block;
  margin: 0 4px;
  color: rgba(255, 255, 255, 0.82);
  font-size: 10px;
  line-height: 1;
  vertical-align: 1px;
}

.admin-reference-link {
  border: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  text-align: inherit;
  cursor: pointer;
}

.admin-reference-link:hover,
.admin-reference-link:focus {
  color: var(--primary);
  text-decoration: underline;
}

.admin-reference-editor-form {
  display: grid;
  gap: 10px;
  margin-top: 16px;
}

.admin-reference-editor-form label {
  display: grid;
  grid-template-columns: 180px minmax(0, 1fr);
  align-items: center;
  gap: 12px;
  color: #212529;
  font-size: 14px;
  line-height: 21px;
}

.admin-reference-editor-modal {
  padding: 0;
  overflow: hidden;
  border: 1px solid rgba(0, 0, 0, 0.2);
  box-shadow: none;
}

.admin-reference-editor-modal > h4 {
  margin: 18px 58px 16px 18px;
}

.admin-reference-editor-modal > .admin-reference-editor-form {
  margin: 16px 18px 0;
}

.admin-reference-editor-modal > .form-errors {
  margin: 0 18px;
}

.admin-reference-editor-modal > .modal-actions {
  margin: 16px 18px 18px;
}

.admin-reference-source-modal {
  color: #535353;
  font-size: 16px;
  line-height: 24px;
}

.admin-reference-source-header {
  display: flex;
  min-height: 65px;
  align-items: center;
  justify-content: space-between;
  padding: 16px 24px;
  border-bottom: 1px solid #dee2e6;
}

.admin-reference-source-header .modal-title {
  margin: 0;
  color: #247879;
  font-size: 20px;
  font-weight: 500;
  line-height: 24px;
}

.admin-reference-source-header .btn-close {
  position: relative;
  width: 32px;
  height: 32px;
  border: 0;
  background-color: transparent;
  color: #000;
  font-size: 0;
  opacity: 1;
}

.admin-reference-source-header .btn-close::before,
.admin-reference-source-header .btn-close::after {
  content: "";
  position: absolute;
  top: 15px;
  left: 7px;
  width: 18px;
  height: 2px;
  background: #000;
}

.admin-reference-source-header .btn-close::before {
  transform: rotate(45deg);
}

.admin-reference-source-header .btn-close::after {
  transform: rotate(-45deg);
}

.admin-reference-source-body {
  padding: 18px 24px 12px;
}

.admin-reference-source-form {
  display: grid;
  gap: 16px;
  margin: 0;
}

.admin-reference-source-form label {
  color: #535353;
}

.admin-reference-source-row {
  display: grid;
  grid-template-columns: 250px minmax(0, 1fr);
  align-items: center;
  gap: 16px;
}

.admin-reference-source-row label {
  display: block;
  font-size: 14px;
  line-height: 21px;
}

.admin-reference-source-row .form-control,
.admin-reference-source-row .form-select {
  min-height: 31px;
  height: 31px;
  padding: 4px 8px;
  border: 1px solid #ced4da;
  border-radius: 3.2px;
  color: #212529;
  font-size: 14px;
  line-height: 21px;
}

.admin-flashinfo-control-stack {
  display: flex;
  min-width: 0;
  flex-direction: column;
}

.admin-flashinfo-control-stack .error.form-control {
  color: #c70039;
}

.admin-flashinfo-control-stack label.error {
  min-height: 21.59375px;
  margin: 2px 0 0;
  color: #c70039;
  font-size: 14.4px;
  font-weight: 400;
  line-height: 21.6px;
}

.admin-reference-source-row--visible .form-select {
  width: 180px;
}

.admin-reference-source-footer {
  display: flex;
  min-height: 65px;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  padding: 16px 24px;
  border-top: 1px solid #dee2e6;
}

.admin-reference-source-footer .btn {
  min-height: 38px;
  padding: 6px 12px;
  border-radius: 4px;
  font-size: 16px;
  line-height: 24px;
}

.admin-reference-source-footer .btn-primary {
  border-color: #247879;
  background: #247879;
  color: #fff;
}

.modal.admin-flashinfo-editor-modal {
  width: min(1000px, calc(100vw - 16px));
  padding: 0;
  border: 1px solid rgba(0, 0, 0, 0.2);
  border-radius: 4.8px;
  box-shadow: none;
}

.admin-flashinfo-editor-modal .admin-reference-source-header {
  padding: 16px 17px;
}

.admin-flashinfo-editor-modal .admin-reference-source-header .modal-title {
  color: #212529;
}

.admin-flashinfo-editor-modal .admin-reference-source-body {
  padding: 17px;
}

.admin-flashinfo-editor-modal .admin-reference-source-row {
  grid-template-columns: 247.5px minmax(0, 1fr);
  gap: 0;
}

.admin-flashinfo-editor-modal .admin-flashinfo-message-row textarea.form-control {
  height: 74.78125px;
  min-height: 74.78125px;
}

.admin-flashinfo-editor-modal .admin-reference-source-row--visible .form-select {
  width: 141px;
}

.admin-flashinfo-editor-modal .admin-reference-source-footer {
  justify-content: center;
  border-top: 0;
}

@media (max-width: 700px) {
  .modal.admin-flashinfo-editor-modal {
    width: calc(100vw - 16px);
  }

  .admin-flashinfo-editor-modal .admin-reference-source-row {
    grid-template-columns: 1fr;
    gap: 8px;
  }

  .admin-flashinfo-editor-modal .admin-reference-source-row .form-control,
  .admin-flashinfo-editor-modal .admin-reference-source-row .form-select,
  .admin-flashinfo-editor-modal .admin-flashinfo-control-stack {
    width: 100%;
  }

  .admin-flashinfo-editor-modal .admin-reference-source-row--visible .form-select {
    width: 46px;
    padding-right: 36px;
  }
}

.admin-crm-page {
  width: calc(100vw - 82px);
  margin: 48px 0 60px 41px;
  padding: 0;
  color: #212529;
  font-size: 16px;
  line-height: 24px;
}

.admin-crm-page h3 {
  height: 23px;
  margin: 0 0 27px;
  color: #247879;
  font-size: 18.5px;
  font-weight: 700;
  line-height: 23px;
}

.admin-crm-warning {
  margin: 0 0 30px;
  color: #212529;
  font-size: 16px;
  font-weight: 400;
  line-height: 24px;
}

.admin-crm-table-wrap {
  width: 1346px;
  max-width: 100%;
  margin: 0;
  overflow-x: auto;
}

.admin-crm-table {
  width: 1346px;
  margin: 0;
  border-collapse: collapse;
  table-layout: fixed;
  color: #212529;
}

.admin-crm-table th,
.admin-crm-table td {
  border-color: #dee2e6;
  padding: 8px 8px;
  color: #212529;
  font-size: 16px;
  line-height: 24px;
  text-align: center;
  vertical-align: middle;
}

.admin-crm-table thead th {
  padding-top: 9px;
  padding-bottom: 9px;
  border-bottom: 2px solid #dee2e6;
  background: #3f817d;
  color: #fff;
  font-weight: 700;
  text-align: left;
}

.admin-crm-table thead tr {
  height: 45px;
}

.admin-crm-table tbody tr:first-child {
  height: 53px;
}

.admin-crm-table tbody tr:not(:first-child) {
  height: 48px;
}

.admin-crm-table tbody tr:nth-child(odd) {
  background: #fff;
}

.admin-crm-table tbody tr:nth-child(even) {
  background: rgba(0, 0, 0, 0.05);
}

.admin-crm-table .left {
  text-align: left;
}

.admin-crm-table th:nth-child(1),
.admin-crm-table td:nth-child(1) {
  width: 186px;
  text-align: left;
}

.admin-crm-table th:nth-child(2),
.admin-crm-table td:nth-child(2) {
  width: 356px;
  text-align: left;
}

.admin-crm-table th:nth-child(3),
.admin-crm-table td:nth-child(3) {
  width: 178px;
  text-align: left;
}

.admin-crm-table th:nth-child(4),
.admin-crm-table td:nth-child(4) {
  width: 243px;
  text-align: left;
}

.admin-crm-table th:nth-child(5),
.admin-crm-table td:nth-child(5) {
  width: 185px;
  text-align: left;
}

.admin-crm-table th:nth-child(6),
.admin-crm-table td:nth-child(6) {
  width: 198px;
  text-align: left;
}

.admin-crm-table .btn-sm {
  min-height: 31px;
  padding: 4px 8px;
  font-size: 14px;
  line-height: 21px;
}

.admin-crm-table .btn-primary {
  background: #212529;
  border-color: #212529;
}

.admin-crm-actions {
  display: flex;
  gap: 4px;
  margin: 16px 0 0;
}

.admin-crm-actions .btn {
  min-height: 31px;
  padding: 4px 8px;
  font-size: 14px;
  line-height: 21px;
}

.admin-crm-source-modal {
  color: #212529;
}

.modal.admin-crm-field-editor-modal {
  width: 1000px;
  max-width: calc(100vw - 136px);
  padding: 0;
  overflow: hidden;
}

.admin-crm-source-header {
  min-height: 64px;
  padding: 16px;
}

.admin-crm-source-header .modal-title {
  color: #247879;
  font-size: 20px;
  line-height: 30px;
}

.admin-crm-source-body {
  padding: 16px;
}

.admin-crm-source-form {
  display: grid;
  gap: 8px;
  width: 966px;
  max-width: 100%;
}

.admin-crm-source-row {
  display: grid;
  grid-template-columns: 314px 471px;
  align-items: start;
  gap: 16px;
  min-height: 38px;
}

.admin-crm-source-row label {
  color: #212529;
  font-size: 16px;
  line-height: 24px;
}

.admin-crm-source-row .form-control,
.admin-crm-source-row .form-select {
  width: 471px;
  min-height: 38px;
  height: 38px;
  padding: 6px 12px;
  border: 1px solid #ced4da;
  border-radius: 4px;
  color: #212529;
  font-size: 16px;
  line-height: 24px;
}

.admin-crm-source-row .form-select {
  min-height: 31px;
  height: 31px;
  padding: 4px 36px 4px 8px;
  font-size: 14px;
  line-height: 21px;
}

.admin-crm-field-stack {
  display: grid;
  gap: 3px;
}

.admin-crm-source-modal .error {
  border-color: #dc3545;
}

.admin-crm-error-label {
  color: #dc3545;
  font-size: 12px;
  line-height: 14px;
}

.admin-crm-option-field {
  display: flex;
  align-items: center;
  gap: 12px;
}

.admin-crm-option-field .form-control {
  width: 306px;
}

.admin-crm-option-button {
  width: 36px;
  height: 38px;
  border: 0;
  border-radius: 4px;
  color: #fff;
  font-size: 18px;
  font-weight: 700;
  line-height: 38px;
  cursor: pointer;
}

.admin-crm-option-button--plus {
  background: #28a745;
}

.admin-crm-option-button--minus {
  background: #dc3545;
}

.admin-crm-source-footer {
  min-height: 72px;
  padding: 16px;
}

.admin-crm-source-footer .btn-outline-secondary {
  min-height: 31px;
  border-color: #dc3545;
  background: #dc3545;
  color: #fff;
  font-size: 14px;
  line-height: 21px;
}

.admin-crm-source-footer .btn-success {
  min-height: 38px;
  border-color: #247879;
  background: #247879;
  font-size: 16px;
  line-height: 24px;
}

.modal.admin-crm-delete-confirm-modal {
  width: 500px;
  max-width: calc(100vw - 40px);
  padding: 0;
  overflow: hidden;
}

.admin-crm-delete-header {
  min-height: 64px;
  padding: 16px;
  border-bottom: 1px solid #dee2e6;
}

.admin-crm-delete-header .modal-title {
  margin: 0;
  color: #212529;
  font-size: 20px;
  line-height: 30px;
}

.admin-crm-delete-body {
  padding: 16px;
  color: #212529;
  font-size: 16px;
  line-height: 24px;
}

.admin-crm-delete-body p {
  margin: 0 0 8px;
}

.admin-crm-delete-footer {
  display: flex;
  min-height: 72px;
  justify-content: flex-end;
  gap: 8px;
  padding: 16px;
  border-top: 1px solid #dee2e6;
}

.admin-crm-delete-footer .btn {
  min-height: 38px;
  padding: 6px 12px;
  font-size: 16px;
  line-height: 24px;
}

.admin-crm-delete-footer .btn-outline-secondary {
  border-color: #6c757d;
  background: #6c757d;
  color: #fff;
}

.admin-crm-delete-footer .btn-danger {
  border-color: #247879;
  background: #247879;
  color: #fff;
}

.admin-print-page {
  width: 1122px;
  min-width: 1122px;
  margin: 0;
  padding-top: 20px;
  color: #000;
  font-family: Arial, sans-serif;
  font-size: 16px;
}

.admin-print-toolbar {
  display: flex;
  gap: 28px;
  align-items: center;
  margin: 0 0 106px 38px;
}

.admin-print-week {
  width: 1046.9375px;
  height: 81.5px;
  margin: 0 0 635.398px 37.789px;
  border-collapse: collapse;
  table-layout: fixed;
}

.admin-print-week caption {
  caption-side: top;
  padding: 6px 0;
  color: #000;
  font-size: 18px;
  font-weight: 700;
  text-align: center;
}

.admin-print-week th,
.admin-print-week td {
  border: 1px solid #333;
  padding: 3px 7px;
  vertical-align: top;
  font-size: 9px;
  line-height: 9px;
}

.admin-print-week p {
  margin: 0;
}

@media print {
  .admin-print-page {
    padding-top: 103.875px;
  }

  .admin-print-toolbar {
    display: none;
  }
}

.table-striped tbody tr:nth-child(odd) {
  background: rgba(0, 0, 0, 0.05);
}

.extrait {
  padding: 4px 0;
  color: var(--text);
}

.wide {
  width: 100%;
  margin-top: 4px;
  background: #347f7e;
  border-color: #347f7e;
  color: var(--accent);
}

.inline-setting {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}

.inline-setting input {
  min-height: auto;
  margin-right: 4px;
}

.right-action {
  display: flex;
  justify-content: flex-end;
}

.modify_pwd {
  background: #347f7e;
  border-color: #347f7e;
  color: var(--accent);
}

.booking-toolbar {
  padding-top: 40px;
}

.filters {
  display: grid;
  grid-template-columns: 190.71875px 190.71875px 190.71875px 190.71875px 405.4375px;
  gap: 24px;
  align-items: center;
}

.booking-toolbar .filters:not(.admin-booking-filters) {
  margin-left: 9.84375px;
}

.filters span {
  font-size: 16px;
  line-height: 24px;
}

.filters select {
  min-height: 32px;
  height: 32px;
  width: 190.71875px;
  padding-top: 4px;
  padding-bottom: 4px;
  font-size: 14px;
  line-height: 21px;
}

.filters .btn--color {
  width: 100%;
  min-height: 31px;
  height: 31px;
  padding: 4px 8px;
  border-radius: 3.2px;
  font-size: 14px;
  line-height: 21px;
}

.booking-list {
  padding: 39.6px 0 100px;
}

.list-head,
.booking-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
}

.list-head {
  font-size: 16px;
  line-height: 27px;
  margin-bottom: 0;
  padding: 0 10px;
  background: #1f1f1f;
  color: #fff;
}

.booking-row {
  margin: 24px 0;
  padding: 10px;
  min-height: 115px;
  box-sizing: border-box;
  background: #f2f2f2;
  border-bottom: 1px solid #e0e0e0;
}

.booking-row h4 {
  margin: 0;
  font-size: 16px;
  font-weight: 700;
  line-height: 27.2px;
}

.booking-event-icon {
  display: inline-block;
  width: 21px;
  height: 21px;
  margin-right: 9px;
  vertical-align: -5px;
  border: 2px solid #ddd;
  border-radius: 50%;
  background:
    linear-gradient(45deg, transparent 42%, #d7d7d7 42%, #d7d7d7 58%, transparent 58%),
    linear-gradient(-45deg, transparent 42%, #d7d7d7 42%, #d7d7d7 58%, transparent 58%);
}

.booking-row p {
  margin: 0;
  color: #535353;
  line-height: 27.2px;
}

.booking-members {
  color: #535353;
  font-size: 16px;
  line-height: 27.2px;
  align-self: start;
  text-align: left;
}

.booking-row .btn-xs {
  display: inline-block;
  min-height: 23px;
  height: 23px;
  padding: 1.6px 3.2px;
  border-radius: 3.2px;
  font-size: 12px;
  line-height: 18px;
  vertical-align: baseline;
}

.booking-members .empty-booking-count {
  color: #c51f3b;
}

.admin-booking-page {
  padding: 48px 40.8px 80px;
}

.admin-booking-page h3 {
  margin: 0 0 28px;
  color: #247879;
  font-size: 21.6px;
  font-weight: 600;
  line-height: 32.4px;
  text-transform: uppercase;
}

.admin-booking-source-filters {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-left: 454.4px;
  margin-bottom: 24px;
}

@media (min-width: 769px) {
  .admin-booking-page:not(.admin-member-activities-page) .admin-booking-source-filters {
    position: relative;
    width: 100%;
    height: 71.19px;
    margin-top: -60px;
    margin-left: 0;
    gap: 0;
  }

  .admin-booking-page:not(.admin-member-activities-page) .admin-booking-filter-line {
    padding-left: 454.4px;
  }

  .admin-booking-page:not(.admin-member-activities-page) .admin-booking-filter-line--secondary {
    position: absolute;
    top: 39.59px;
    left: 692.13px;
    justify-content: flex-start;
    padding-left: 0;
  }

  .admin-booking-page:not(.admin-member-activities-page) .admin-booking-filter-line--secondary #start {
    margin-right: 55.66px;
  }

  .admin-booking-page:not(.admin-member-activities-page) .admin-booking-table td:nth-child(7) {
    line-height: 18.5px;
  }
}

.admin-booking-filter-line {
  display: flex;
  align-items: center;
  gap: 8px;
}

.admin-booking-filter-line--secondary {
  justify-content: flex-end;
}

.admin-booking-source-filters .bootstrap-select {
  position: relative;
  width: 220px;
}

.admin-booking-source-filters .selectpicker {
  position: absolute;
  width: 0.5px;
  height: 31.59px;
  opacity: 0;
  pointer-events: none;
}

.admin-booking-source-filters .btn.dropdown-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  width: 220px;
  min-height: 31.59px;
  padding: 4px 10px;
  border: 1px solid #247879;
  border-radius: 4px;
  color: #247879;
  background: #f8f9fa;
  font-size: 16px;
  line-height: 24px;
  white-space: nowrap;
}

.admin-booking-source-filters .btn.dropdown-toggle::after {
  content: "";
  width: 0;
  height: 0;
  margin-left: 8px;
  border-top: 5px solid #247879;
  border-right: 5px solid transparent;
  border-left: 5px solid transparent;
}

.admin-booking-source-filters .btn-primary {
  color: #fff;
  background: #247879;
}

.admin-booking-source-filters .btn-primary::after {
  border-top-color: #fff;
}

.admin-booking-source-filters .dropdown-menu.show {
  position: absolute;
  z-index: 1000;
  display: block;
  width: 220px;
  max-height: 280px;
  overflow: auto;
  margin-top: 2px;
  padding: 4px 0;
  border: 1px solid #d3d8dd;
  border-radius: 4px;
  background: #fff;
  box-shadow: 0 6px 12px rgba(0, 0, 0, .175);
}

.admin-booking-source-filters .dropdown-menu:not(.show) {
  display: none;
}

.admin-booking-source-filters .dropdown-menu.inner {
  position: static;
  display: block;
  width: 100%;
  max-height: none;
  margin: 0;
  padding: 0;
  border: 0;
  box-shadow: none;
}

.admin-booking-source-filters .dropdown-menu li {
  list-style: none;
}

.admin-booking-source-filters .dropdown-item {
  display: block;
  width: 100%;
  padding: 4px 12px;
  border: 0;
  color: #212529;
  background: transparent;
  font-size: 14px;
  line-height: 21px;
  text-align: left;
}

.admin-booking-source-filters .dropdown-item.active,
.admin-booking-source-filters .dropdown-item:hover {
  color: #fff;
  background: #247879;
}

.admin-booking-source-filters .form-control-sm {
  width: 174.36px;
  min-height: 31px;
  padding: 4px 8px;
  border: 1px solid #ced4da;
  border-radius: 3.2px;
  font-size: 14px;
  line-height: 21px;
}

.admin-booking-source-filters .nbselect {
  width: 135.5px;
  min-height: 31.59px;
  font-size: 14.4px;
  line-height: 21.6px;
}

.admin-booking-export {
  min-height: 31px;
  padding: 4px 8px;
  border-radius: 3.2px;
  font-size: 14px;
  line-height: 21px;
  text-transform: uppercase;
}

.admin-booking-table-wrap {
  overflow-x: auto;
}

.admin-booking-table {
  min-width: 1180px;
  margin: 0;
  color: #535353;
  font-size: 12.8px;
  line-height: 19.2px;
  table-layout: fixed;
}

.admin-booking-table th {
  color: #fff;
  background: #2f7f7b;
  font-weight: 600;
}

.admin-booking-table td,
.admin-booking-table th {
  padding: 7.8px 8px;
  vertical-align: top;
}

.admin-booking-table th {
  height: 42px;
  padding-top: 10px;
  padding-bottom: 10px;
  border-top: 0;
  vertical-align: middle;
}

.admin-booking-table td {
  border-top: 1px solid #dee2e6;
}

.admin-booking-table tbody tr:first-child td {
  padding-top: 9px;
  padding-bottom: 9px;
}

.admin-booking-table th:nth-child(1),
.admin-booking-table td:nth-child(1) {
  width: 55px;
}

.admin-booking-table th:nth-child(2),
.admin-booking-table td:nth-child(2) {
  width: 268px;
}

.admin-booking-table th:nth-child(3),
.admin-booking-table td:nth-child(3) {
  width: 245px;
}

.admin-booking-table th:nth-child(4),
.admin-booking-table td:nth-child(4) {
  width: 170px;
}

.admin-booking-table th:nth-child(5),
.admin-booking-table td:nth-child(5) {
  width: 72px;
}

.admin-booking-table th:nth-child(6),
.admin-booking-table td:nth-child(6) {
  width: 72px;
}

.admin-booking-table th:nth-child(7),
.admin-booking-table td:nth-child(7) {
  width: auto;
}

.admin-booking-table th:nth-child(8),
.admin-booking-table td:nth-child(8) {
  width: 116px;
}

.admin-booking-table td:nth-child(5),
.admin-booking-table td:nth-child(6),
.admin-booking-table td:nth-child(8) {
  text-align: center;
}

.admin-booking-table span {
  color: #535353;
}

.admin-booking-table .btn-danger,
.admin-booking-table span.btn-danger,
.admin-booking-detail-table .btn-danger,
.admin-booking-detail-table span.btn-danger {
  color: #fff;
}

.admin-booking-icon-cell {
  text-align: center;
  vertical-align: middle;
}

.admin-booking-row-icon {
  display: inline-block;
  width: 26px;
  height: 26px;
  border: 2px solid rgba(180, 190, 190, .42);
  border-radius: 50%;
  background:
    linear-gradient(45deg, transparent 44%, rgba(180, 190, 190, .42) 45%, rgba(180, 190, 190, .42) 55%, transparent 56%),
    linear-gradient(135deg, transparent 44%, rgba(180, 190, 190, .42) 45%, rgba(180, 190, 190, .42) 55%, transparent 56%);
  opacity: .55;
}

.admin-booking-badge {
  display: inline-block;
  min-width: 39px;
  padding: 1px 6px;
  border-radius: 4px;
  color: #fff !important;
  font-size: 12px;
  font-weight: 700;
  line-height: 16px;
  text-align: center;
  white-space: nowrap;
}

.admin-booking-badge--full {
  background: #2f9361;
}

.admin-booking-badge--partial {
  background: #f4c331;
}

.admin-booking-badge--empty {
  background: #dc3545;
}

.admin-booking-row-clickable {
  cursor: pointer;
}

.admin-booking-row-clickable:focus {
  outline: 2px solid #247879;
  outline-offset: -2px;
}

.admin-booking-detail-link {
  color: #252a31;
  text-decoration: none;
}

.admin-member-activities-page {
  padding-top: 48px;
}

.admin-member-activities-filters {
  margin-top: -60px;
  margin-left: 91px;
  margin-bottom: 24px;
}

.admin-member-activities-filters .nbselect {
  width: 201px;
}

.admin-member-activities-table {
  min-width: 1180px;
  margin: 0;
  color: #535353;
  font-size: 14.4px;
  line-height: 21.6px;
}

.admin-member-activities-table th {
  color: #252a31;
  font-weight: 600;
}

.admin-member-activities-table th,
.admin-member-activities-table td {
  padding: 8px;
  vertical-align: top;
}

.admin-member-activities-table td:nth-child(1) {
  width: 42px;
  text-align: center;
  white-space: nowrap;
}

.admin-member-activities-table td:nth-child(2) {
  width: 210px;
}

.admin-member-activities-table td:nth-child(3),
.admin-member-activities-table td:nth-child(4),
.admin-member-activities-table td:nth-child(7) {
  width: 130px;
  white-space: nowrap;
}

.admin-member-activities-table td:nth-child(5) {
  width: 250px;
  white-space: nowrap;
}

.admin-member-activities-table td:nth-child(6) {
  width: 270px;
}

.admin-booking-cancel-muted {
  display: inline-block;
  margin-top: 4px;
}

.admin-booking-detail-page h4 {
  margin: 0 0 8px;
  color: #b84e8a;
  font-size: 18px;
  font-weight: 600;
  line-height: 22px;
}

.admin-booking-detail-page h3 {
  color: #247879;
  font-size: 19.2px;
  font-weight: 500;
  line-height: 23.04px;
}

.admin-booking-detail-layout {
  display: grid;
  grid-template-columns: 360px minmax(0, 1fr);
  column-gap: 100px;
  margin-bottom: 34px;
  color: #535353;
  font-size: 14.4px;
  line-height: 18px;
}

.admin-booking-detail-layout p {
  margin: 0 0 3px;
}

.admin-booking-detail-left {
  position: relative;
  min-height: 214px;
}

.admin-booking-detail-right {
  padding-top: 27px;
}

.admin-booking-detail-place {
  margin-top: 22px !important;
  font-weight: 700;
}

.admin-booking-detail-search-icon {
  color: #b84e8a;
  font-size: 15px;
  font-weight: 400;
}

.admin-booking-detail-no-photo {
  position: absolute;
  left: 31px;
  top: 169px;
  width: 158px;
  height: 158px;
  display: block;
  overflow: visible;
}

.admin-booking-no-photo-ring {
  fill: none;
  stroke: #d9d9d9;
  stroke-width: 9;
}

.admin-booking-no-photo-image {
  fill: #d9d9d9;
}

.admin-booking-no-photo-slash-cut {
  stroke: #fff;
  stroke-width: 18;
  stroke-linecap: round;
}

.admin-booking-no-photo-slash {
  stroke: #d9d9d9;
  stroke-width: 9;
  stroke-linecap: round;
}

.admin-booking-detail-page .admin-booking-table-wrap {
  margin-left: 460.8px;
  margin-top: -84px;
  width: calc(100% - 460.8px);
}

.admin-booking-detail-page .admin-booking-detail-table {
  min-width: 0;
  width: 100%;
  table-layout: fixed;
  font-size: 12.6px;
  line-height: 18.9px;
}

.admin-booking-detail-page .admin-booking-detail-table th {
  height: 42px;
  padding: 10px 8px;
  background: #337c78;
  border-left: 1px solid rgba(255, 255, 255, 0.22);
  border-right: 1px solid rgba(0, 0, 0, 0.12);
  color: #fff;
  font-weight: 700;
  vertical-align: middle;
}

.admin-booking-detail-page .admin-booking-detail-table td {
  padding: 8.75px 8px;
  vertical-align: middle;
}

.admin-booking-detail-page .admin-booking-detail-table tbody tr:first-child td {
  padding-top: 8.75px;
  padding-bottom: 8.75px;
}

.admin-booking-detail-table th:nth-child(1),
.admin-booking-detail-table td:nth-child(1),
.admin-booking-detail-table th:nth-child(2),
.admin-booking-detail-table td:nth-child(2),
.admin-booking-detail-table th:nth-child(3),
.admin-booking-detail-table td:nth-child(3) {
  width: 30px;
  text-align: center;
}

.admin-booking-detail-table th:nth-child(4),
.admin-booking-detail-table td:nth-child(4) {
  width: 66px;
}

.admin-booking-detail-table th:nth-child(5),
.admin-booking-detail-table td:nth-child(5) {
  width: 78px;
}

.admin-booking-detail-table th:nth-child(6),
.admin-booking-detail-table td:nth-child(6) {
  width: 116px;
  white-space: nowrap;
}

.admin-booking-detail-table th:nth-child(7),
.admin-booking-detail-table td:nth-child(7) {
  width: 145px;
  white-space: nowrap;
}

.admin-booking-detail-table th:nth-child(8),
.admin-booking-detail-table td:nth-child(8) {
  width: 300px;
  white-space: nowrap;
}

.admin-booking-detail-table th:nth-child(9),
.admin-booking-detail-table td:nth-child(9) {
  width: 74px;
  text-align: center;
}

.admin-booking-note-icon {
  display: inline-block;
  width: 17px;
  height: 14px;
  border: 2px solid #4d918f;
  border-radius: 2px;
}

.admin-booking-person-icon {
  display: inline-block;
  width: 11px;
  height: 11px;
  background: #2b9f53;
  clip-path: path("M5.5 0a2.5 2.5 0 1 1 0 5a2.5 2.5 0 0 1 0-5ZM0 11c.45-3.1 2.35-4.8 5.5-4.8S10.55 7.9 11 11H0Z");
}

.admin-booking-detail-person-glyph {
  display: inline-block;
  width: 13px;
  height: 13px;
  margin: 0 4px 0 2px;
  background: #212529;
  vertical-align: -1px;
  clip-path: path("M6.5 0a3 3 0 1 1 0 6a3 3 0 0 1 0-6ZM0 13c.55-3.65 2.8-5.65 6.5-5.65S12.45 9.35 13 13H0Z");
}

.admin-booking-check-icon {
  color: #2b9f53;
  font-weight: 700;
}

.admin-booking-detail-close {
  display: block;
  width: 436.8px;
  margin-top: 116.6px;
  margin-left: 460.8px;
  background-color: #212529;
  border-color: #212529;
  color: #fff;
  border-radius: 4px;
  font-size: 16px;
  line-height: 24px;
  text-align: center;
}

.admin-booking-detail-close:hover,
.admin-booking-detail-close:focus {
  background-color: #1c1f23;
  border-color: #1a1e21;
  color: #fff;
}

@media (max-width: 900px) {
  .admin-booking-detail-layout {
    display: block;
    margin-bottom: 24px;
  }

  .admin-booking-detail-right {
    padding-top: 18px;
  }

  .admin-booking-detail-no-photo {
    position: relative;
    left: auto;
    top: auto;
    margin-top: 61px;
    margin-left: 33px;
  }

  .admin-booking-detail-page .admin-booking-table-wrap {
    margin-left: 0;
    margin-top: 84px;
    width: 100%;
  }

  .admin-booking-detail-page .admin-booking-detail-table {
    min-width: 665px;
  }

  .admin-booking-detail-table th:nth-child(1),
  .admin-booking-detail-table td:nth-child(1),
  .admin-booking-detail-table th:nth-child(2),
  .admin-booking-detail-table td:nth-child(2),
  .admin-booking-detail-table th:nth-child(3),
  .admin-booking-detail-table td:nth-child(3) {
    width: 33px;
  }

  .admin-booking-detail-table th:nth-child(4),
  .admin-booking-detail-table td:nth-child(4) {
    width: 72px;
  }

  .admin-booking-detail-table th:nth-child(5),
  .admin-booking-detail-table td:nth-child(5) {
    width: 84px;
  }

  .admin-booking-detail-table th:nth-child(6),
  .admin-booking-detail-table td:nth-child(6) {
    width: 43px;
    white-space: normal;
  }

  .admin-booking-detail-table th:nth-child(7),
  .admin-booking-detail-table td:nth-child(7) {
    width: 154px;
  }

  .admin-booking-detail-table th:nth-child(8),
  .admin-booking-detail-table td:nth-child(8) {
    width: 152px;
    white-space: normal;
  }

  .admin-booking-detail-table th:nth-child(9),
  .admin-booking-detail-table td:nth-child(9) {
    width: 61px;
  }

  .admin-booking-detail-close {
    width: 100%;
    margin: 26px 0 0;
  }
}

.member-list {
  margin-top: 8px;
  color: #535353;
  font-size: 14px;
  line-height: 1.45;
}

.member-list.empty {
  padding-top: 4px;
}

.member-list p {
  margin: 5px 0;
  line-height: 24.8px;
}

.booking-member-name {
  font-weight: 500;
}

.booking-member-contact {
  color: #535353;
  font-size: 13px;
}

.note-dot {
  width: 22px;
  height: 22px;
  margin-right: 6px;
  border: 0;
  border-radius: 50%;
  background: #e9ecef;
  cursor: pointer;
  color: #535353;
  font-size: 12px;
  line-height: 22px;
  text-align: center;
}

.present-dot {
  width: 22px;
  height: 22px;
  margin-right: 6px;
  border: 0;
  border-radius: 50%;
  background: #e9f5ef;
  color: var(--success);
  cursor: pointer;
  font-size: 14px;
  line-height: 22px;
  text-align: center;
}

.note-dot::before {
  content: "✎";
}

.present-dot::before {
  content: "✓";
}

.presence-line {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 18px 0;
}

.badge {
  display: inline-flex;
  min-height: 23px;
  align-items: center;
  margin-left: 6px;
  padding: 2px 8px;
  border-radius: 4px;
  color: #fff;
  font-size: 12px;
}

.badge.danger {
  background: var(--danger);
}

.planning-shell {
  display: grid;
  grid-template-columns: 240px 1fr;
  gap: 6px;
  padding-top: 18px;
  padding-bottom: 50px;
}

.model-list {
  padding: 0;
}

#external-events {
  margin-left: 10px;
  min-height: 568px;
  padding: 11px 5px 0;
  border: 1px solid #ddd;
}

#external-events .fc-event {
  display: block;
  width: 218.4px;
  min-height: 29.3px;
  margin-bottom: 6px;
  border: 1px solid #535353;
  border-radius: 3px;
  color: #fff;
  font-size: 14.4px;
  line-height: 17.28px;
  text-align: center;
  overflow: hidden;
}

.editmodel {
  display: inline;
  border: 0;
  background: transparent;
  color: #fff;
  font-size: 12.96px;
  text-decoration: none;
  text-align: center;
  cursor: pointer;
}

.calendar-toolbar {
  display: grid;
  grid-template-columns: 96px 1fr auto;
  align-items: center;
  width: calc(100% - 8px);
  margin-bottom: 8px;
}

.calendar .fc-view-harness {
  width: calc(100% - 8px);
}

.fc-listMonth-view {
  min-height: 835.55px;
}

.calendar-toolbar .fc-toolbar-chunk:nth-child(2) {
  display: flex;
  justify-content: center;
  text-align: center;
  transform: translateX(-16px);
}

.calendar-toolbar .btn-group {
  display: inline-flex;
}

.calendar-toolbar h2 {
  display: inline-block;
  margin: 0;
  text-align: center;
  color: var(--primary);
  font-family: Ubuntu, sans-serif;
  font-size: 20.8px;
  font-weight: 400;
  line-height: 30px;
  text-transform: uppercase;
}

.calendar-toolbar .btn {
  display: block;
  min-height: 38px;
  border: 0;
  border-radius: 0;
  background: #333;
  color: var(--accent);
  font-size: 12px;
  line-height: 18px;
  padding: 10px;
  position: relative;
  white-space: normal;
}

.calendar-toolbar .btn.active {
  background: #247879;
  color: #fff;
  filter: none;
}

.fc-prev-button,
.fc-next-button {
  width: 32px;
}

.fc-prev-button {
  border-radius: 4px 0 0 4px !important;
}

.fc-next-button,
.fc-timeGridWeek-button,
.fc-listMonth-button {
  margin-left: -1px !important;
}

.fc-dayGridMonth-button {
  border-radius: 4px 0 0 4px !important;
}

.fc-listMonth-button {
  border-radius: 0 4px 4px 0 !important;
}

.week-grid {
  display: grid;
  grid-template-columns: 45px repeat(7, 1fr);
  height: 836px;
  overflow: hidden;
  border: 1px solid var(--line);
}

.time-head,
.day-head {
  min-height: 26.59px;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  display: grid;
  place-items: center;
  color: var(--primary);
  font-weight: 600;
}

.time-col {
  grid-column: 1;
  display: grid;
  grid-template-rows: repeat(14, 66px);
  border-right: 1px solid var(--line);
}

.time-col span {
  border-bottom: 1px solid #eee;
  padding: 4px 6px;
  color: #777;
  font-size: 13px;
}

.week-canvas {
  position: relative;
  grid-column: 2 / span 7;
  min-height: 858px;
  background-image:
    linear-gradient(90deg, transparent 0, transparent 57.12%, rgba(255, 243, 180, 0.62) 57.12%, rgba(255, 243, 180, 0.62) 71.4%, transparent 71.4%),
    linear-gradient(#eee 1px, transparent 1px),
    linear-gradient(90deg, #eee 1px, transparent 1px);
  background-size: 100% 100%, 100% 66px, 14.28% 100%;
}

.calendar-event {
  position: absolute;
  width: calc(14.28% - 6px);
  margin-left: 0;
  border: 1px solid var(--primary);
  border-radius: 3px;
  background: var(--primary);
  color: #fff;
  padding: 0;
  text-align: center;
  overflow: hidden;
  font-size: 13.6px;
  line-height: 23.12px;
  cursor: pointer;
}

.month-grid {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  grid-template-rows: repeat(6, 134.39px);
  height: 806.34px;
  border-left: 1px solid var(--line);
  border-top: 1px solid var(--line);
}

.month-head-grid {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  height: 29.21px;
  border-left: 1px solid var(--line);
  border-top: 1px solid var(--line);
}

.month-head-grid div {
  display: grid;
  place-items: center;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  color: var(--primary);
  font-weight: 600;
  line-height: 27.2px;
}

.month-cell {
  min-height: 0;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  padding: 0.4px 3.9px 3px 0.4px;
  overflow: hidden;
}

.month-cell.fc-day-today {
  background-color: rgba(255, 220, 40, 0.15);
}

.month-cell span {
  display: block;
  color: #212529;
  font-size: 13.6px;
  line-height: 20.4px;
  height: 20.4px;
  padding: 0 4px 0 0;
}

.month-cell button,
.list-event {
  display: block;
  width: 100%;
  margin: 1px 2px 2px;
  border: 1px solid var(--primary);
  border-radius: 3px;
  background: var(--primary);
  color: #fff;
  padding: 0;
  text-align: center;
  cursor: pointer;
  white-space: nowrap;
}

.fc-daygrid-event {
  color: #fff;
  height: 27.34px;
  overflow: hidden;
  font-size: 13.6px;
  line-height: 20.4px;
  border-color: #fff !important;
  border-radius: 0;
}

.fc-daygrid-event .fc-event-main,
.fc-daygrid-event .fc-event-title {
  color: #fff;
}

.month-cell button.fc-daygrid-event {
  border-radius: 0;
}

.calendar-list {
  border: 1px solid var(--line);
}

.list-event {
  margin: 0;
  border-width: 0 0 1px;
  border-radius: 0;
  background: #fff;
  color: var(--text);
}

.list-event span,
.list-event em {
  display: block;
  color: var(--muted);
  font-style: normal;
  font-size: 13px;
}

.fc-list-table {
  width: calc(100% - 2px);
  border-collapse: collapse;
  color: #535353;
  font-size: 16px;
  line-height: 25.7px;
  margin-left: 1px;
  margin-top: 1px;
}

.admin-calendar .fc-list-table {
  width: 100%;
  margin-left: 0.13px;
  margin-top: 3.85px;
  transform: translateY(1.52px);
}

.fc-list-caption {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  white-space: nowrap;
}

.fc-list-day th {
  background: #f5f5f5;
  border: 1px solid #ddd;
  color: #535353;
  font-size: 16px;
  line-height: 25.7px;
  text-align: left;
  padding: 6.64px 14px;
}

.fc-list-day span {
  float: right;
  font-weight: 400;
}

.fc-list-event td {
  border: 1px solid #ddd;
  color: #535353;
  font-size: 16px;
  line-height: 25px;
  padding: 8px 14px;
}

.fc-list-event-time {
  width: 125px;
  text-align: center;
  white-space: nowrap;
}

.fc-list-event-graphic {
  width: 24px;
  padding-left: 12px !important;
  padding-right: 12px !important;
}

.fc-list-event-graphic span {
  display: inline-block;
  width: 10px;
  height: 10px;
  border-radius: 50%;
}

.members {
  width: 96%;
  padding-top: 48px;
  padding-right: 12px;
  padding-bottom: 35px;
  padding-left: 12px;
}

body:has(.members) {
  line-height: 1.7;
}

body:has(.members) .topbar {
  width: 96%;
  margin-right: auto;
  margin-left: auto;
  padding: 8px 12px;
}

body:has(.members) .nav-link,
body:has(.member-detail) .nav-link {
  margin-left: 8px;
  padding-right: 9px;
  padding-left: 9px;
}

.member-title,
.member-search {
  display: flex;
  align-items: center;
}

.member-title {
  justify-content: space-between;
  align-items: flex-start;
  gap: 18px;
  margin-bottom: 4.8px;
}

.member-title h3 {
  height: 34px;
  margin: 0 0 8px;
  color: var(--primary);
  font-size: 19.2px;
  font-weight: 500;
  line-height: 30px;
}

.member-title h3 .btn-sm {
  display: inline-block;
  width: 95.94px;
  height: 29px;
  min-height: 0;
  margin-left: 2.44px;
  padding: 4px 8px;
  border: 0;
  border-radius: 3.2px;
  font-size: 14px;
  font-weight: 400;
  line-height: 21px;
  vertical-align: middle;
}

.member-search {
  gap: 0;
}

.member-search label {
  margin-right: 8px;
  color: var(--muted);
}

.member-search input {
  width: 250px;
  border-radius: 4px 0 0 4px;
}

.member-search .btn {
  border-radius: 0;
}

.member-search .btn:last-child {
  border-radius: 0 4px 4px 0;
}

.member-size {
  display: flex;
  justify-content: flex-end;
  margin: 0 0 24px;
}

.member-size select {
  width: 113.2px;
  min-height: 31.6px;
  height: 31.6px;
  padding: 4px 36px 4px 8px;
  font-size: 14.4px;
  line-height: 21.6px;
}

.admin-members-form {
  position: relative;
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: start;
  min-height: 80px;
  margin-bottom: 24px;
}

.admin-members-form h3 {
  grid-column: 1 / 2;
  white-space: nowrap;
}

.admin-members-form .admin-activities-btn {
  width: 143px;
  margin-left: 4px;
}

.admin-members-form .member-search {
  grid-column: 3 / 4;
  justify-self: end;
  height: 38px;
}

.admin-members-form .admin-add-member-btn {
  position: absolute;
  left: 0;
  top: 45px;
  width: 95px;
  height: 28px;
  padding: 3px 8px;
  border: 0;
  border-radius: 3.2px;
  background: #198754;
  color: #fff;
  font-size: 12px;
  line-height: 21px;
}

.admin-member-filter-strip {
  grid-column: 1 / 4;
  position: absolute;
  left: 0;
  right: 0;
  top: 46px;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 8px;
  height: 34px;
  margin-top: 0;
  padding-left: 466px;
}

.admin-member-filter-strip select {
  position: absolute;
  width: 1px;
  height: 34px;
  opacity: 0;
  pointer-events: none;
}

.admin-member-filter {
  position: relative;
  display: inline-block;
}

.admin-member-filter.show {
  z-index: 35;
}

.admin-member-filter-btn {
  position: relative;
  height: 34px;
  width: 125px;
  padding: 4px 24px 4px 12px;
  border: 1px solid #8fbfc1;
  border-radius: 3.2px;
  background: #f8f9fa;
  color: var(--primary);
  font-size: 16px;
  line-height: 24px;
  white-space: nowrap;
  text-align: left;
  overflow: hidden;
  text-overflow: ellipsis;
}

.admin-member-filter-btn::after {
  content: "";
  position: absolute;
  right: 10px;
  top: 50%;
  width: 0;
  height: 0;
  margin-top: -2px;
  border-top: 5px solid currentColor;
  border-left: 4px solid transparent;
  border-right: 4px solid transparent;
}

.admin-member-filter-btn--nature {
  width: 198px;
}

.admin-member-filter-btn--origin {
  width: 204px;
}

.admin-member-filter-btn--profiles {
  width: 138px;
}

.admin-member-filter .dropdown-menu {
  display: none;
  position: absolute;
  top: 36px;
  left: 0;
  min-width: 158px;
  margin: 0;
  padding: 4px 0;
  border: 1px solid rgba(0, 0, 0, 0.15);
  border-radius: 4px;
  background: #fff;
  box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
}

.admin-member-filter .dropdown-menu.show {
  display: block;
}

.admin-member-filter[data-filter-name="nature"] .dropdown-menu {
  min-width: 231px;
}

.admin-member-filter[data-filter-name="origine"] .dropdown-menu {
  min-width: 288px;
}

.admin-member-filter[data-filter-name="search_members"] .dropdown-menu {
  min-width: 228px;
}

.admin-member-filter .dropdown-menu.inner {
  position: static;
  display: block;
  min-width: 0;
  border: 0;
  box-shadow: none;
  padding: 0;
}

.admin-member-filter ul.dropdown-menu {
  list-style: none;
}

.admin-member-filter .dropdown-item {
  display: block;
  width: 100%;
  padding: 3px 20px;
  border: 0;
  background: transparent;
  color: #212529;
  font-size: 16px;
  line-height: 24px;
  text-align: left;
  white-space: nowrap;
}

.admin-member-filter .dropdown-item.active,
.admin-member-filter .dropdown-item:hover {
  background: #247879;
  color: #fff;
}

.admin-member-result-count {
  position: absolute;
  left: 365px;
  top: 0;
  width: 100px;
  color: #6c757d;
  font-size: 14px;
  line-height: 34px;
  text-align: right;
  white-space: nowrap;
}

.admin-members-form .member-size {
  grid-column: 3 / 4;
  justify-self: end;
  position: absolute;
  right: 0;
  top: 45px;
  z-index: 5;
  margin: 0;
}

.admin-members-form .member-size select {
  width: 198px;
  height: 32px;
}

body:has(.topbar):has(.members) .member-search input {
  width: 248.66px;
  height: 38px;
  padding: 4px 8px;
  border-radius: 3.2px 0 0 3.2px;
  font-size: 14px;
  line-height: 21px;
}

body:has(.topbar):has(.members) .member-search .btn {
  display: inline-block;
  height: 38px;
  min-height: 0;
  margin-left: -1px;
  padding: 6px 12px;
  font-size: 16px;
  line-height: 24px;
}

body:has(.topbar):has(.members) .member-search .btn-dark {
  width: 46.27px;
  border: 0;
}

body:has(.topbar):has(.members) .member-search .btn-outline-secondary {
  width: 56.89px;
  background: transparent;
}

body:has(.topbar):has(.members) .member-size select {
  width: 100.39px;
  border-radius: 3.2px;
  line-height: 21.6px;
}

.member-row-clickable {
  cursor: pointer;
}

.member-row-clickable:hover td {
  background: #eef7f7;
}

.table-responsive {
  overflow-x: auto;
}

.members .table th {
  position: sticky;
  top: 0;
  z-index: 1;
  background: var(--primary);
  color: #fff;
}

.members .table {
  margin-bottom: 16px;
}

.admin-members-source-table thead {
  height: 63px;
}

.admin-members-source-table th {
  height: 63px;
  vertical-align: middle;
  background: var(--primary) !important;
  color: #fff;
  font-size: 12px;
  line-height: 16px;
}

.admin-members-source-table th small {
  display: block;
  color: #fff;
  font-size: 11px;
  line-height: 14px;
}

.admin-members-source-table td {
  height: 80px;
  vertical-align: middle;
  color: #212529;
  font-size: 14px;
  line-height: 21px;
}

.admin-members-source-table td.link {
  cursor: pointer;
}

.admin-members-source-table .admin-source-member-row[data-action="member-open"],
.admin-members-source-table .admin-source-member-row[data-confirm="admin-member-source-missing"] {
  cursor: pointer;
}

.admin-members-source-table tbody tr:first-child td {
  height: 85px;
}

.admin-delete-member-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 16px;
  height: 16px;
  min-height: 0;
  margin-right: 14px;
  padding: 0;
  border-radius: 2px;
  font-size: 12px;
  line-height: 16px;
}

.admin-members-source-table .avatar-placeholder {
  width: 24px;
  height: 24px;
  vertical-align: middle;
}

.admin-member-add-page {
  width: calc(100% - 45.44px);
  max-width: 1090.55px;
  margin: 0 22.72px;
  padding-top: 48px;
  color: #555;
}

.admin-member-add-page h3 {
  margin: 0 0 24px 12px;
  color: var(--primary);
  font-size: 19.2px;
  line-height: 23.04px;
  font-weight: 500;
  text-transform: uppercase;
}

.admin-member-add-form {
  margin: 0;
}

.admin-member-add-grid {
  display: grid;
  grid-template-columns: 133.3px 375.96px 13px 133.3px 387.22px;
  grid-template-rows: 31px 31px 52px 73px 31px 31px 31px 31px 31px 31px 52px 31px 31px 31px 52px;
  grid-auto-rows: minmax(31px, auto);
  column-gap: 12px;
  row-gap: 8px;
  align-items: start;
  height: 619.22px;
}

.admin-member-add-grid .add-label {
  align-self: start;
  min-height: 31px;
  margin: 0;
  padding: 5px 12px;
  color: #212529;
  font-size: 14px;
  line-height: 21px;
  font-weight: 400;
}

.admin-member-add-grid input,
.admin-member-add-grid select,
.admin-member-add-grid textarea {
  box-sizing: border-box;
  height: 31px;
  min-height: 31px;
  padding: 4px 8px;
  border: 1px solid #777;
  border-radius: 3.2px;
  background-color: #fff;
  color: #212529;
  font-size: 14px;
  line-height: 21px;
}

.admin-member-add-grid input::placeholder {
  color: #6c757d;
  opacity: 1;
}

.admin-member-add-grid .add-date-input {
  padding-right: 28px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23212529' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='17' rx='2'/%3E%3Cpath d='M8 2v4M16 2v4M3 10h18'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 8px center;
  background-size: 14px 14px;
}

.admin-member-add-grid select {
  padding-right: 32px;
}

.admin-member-add-grid .add-phone-input,
.admin-member-add-grid .add-address-input,
.admin-member-add-grid .add-city-composite input {
  border-color: #dee2e6;
}

.admin-member-add-grid .add-composite {
  display: flex;
  align-items: flex-start;
  min-height: 31px;
  gap: 12px;
}

.admin-member-add-grid .add-composite label,
.admin-member-add-grid .add-composite span,
.admin-member-add-grid .add-static,
.admin-member-add-grid .add-credit-row,
.admin-member-add-grid .add-member-credit-row,
.admin-member-add-grid .add-radio-row,
.admin-member-add-grid .add-value-row {
  color: #333;
  font-size: 14px;
  line-height: 21px;
  font-weight: 400;
}

.admin-member-add-grid .add-composite span {
  width: 222px;
  line-height: 21px;
}

.add-firstname-label,
.add-lastname-label,
.add-birth-label,
.add-email-label,
.add-phone-label,
.add-address-label,
.add-postcode-label {
  grid-column: 1;
}

.add-firstname-input,
.add-lastname-input,
.add-phone-input,
.add-address-input {
  grid-column: 2;
}

.add-firstname-label,
.add-firstname-input,
.add-photo-label,
.add-photo-file-control { grid-row: 1; }
.add-lastname-label,
.add-lastname-input { grid-row: 2; }
.add-birth-label,
.add-birth-composite { grid-row: 3; }
.add-email-label,
.add-email-composite { grid-row: 4; }
.add-phone-label,
.add-phone-input { grid-row: 5; }
.add-address-label,
.add-address-input { grid-row: 6; }
.add-postcode-label,
.add-city-composite { grid-row: 7; }

.add-crm-placeholder {
  grid-column: 1 / 3;
  grid-row: 8 / span 5;
  margin-top: 17px;
  padding-top: 20px;
  border-top: 1px solid #dee2e6;
  color: #333;
  font-size: 16px;
  line-height: 24px;
}

.add-birth-composite,
.add-email-composite,
.add-city-composite {
  grid-column: 2;
}

.add-birth-composite input:first-child {
  width: 153.76px;
}

.add-birth-composite label {
  width: 88.87px;
}

.add-birth-composite input:last-child {
  width: 64.87px;
}

.add-email-composite input {
  width: 153.77px;
}

.add-city-composite input:first-child {
  width: 109.31px;
}

.add-city-composite label {
  width: 44.44px;
}

.add-city-composite input:last-child {
  width: 198.21px;
}

.add-photo-label,
.add-profile-label,
.add-registration-label,
.add-payment-label,
.add-reminder-label,
.add-credit-euro-label,
.add-credit-member-label,
.add-session-label,
.add-workshop-label,
.add-value-label {
  grid-column: 4;
}

.add-photo-file-control,
.add-profile-select,
.add-registration-input,
.add-payment-value,
.add-radio-row,
.add-credit-row,
.add-member-credit-row,
.add-credit-select,
.add-value-row {
  grid-column: 5;
}

.add-photo-placeholder {
  grid-column: 5;
  grid-row: 2 / 4;
  justify-self: center;
  width: 60px;
  height: 60px;
  margin-top: 8px;
  border: 5px solid #d9d9d9;
  border-radius: 50%;
  opacity: .9;
  position: relative;
  overflow: hidden;
}

.add-photo-camera,
.add-photo-camera::before,
.add-photo-camera::after {
  content: "";
  position: absolute;
}

.add-photo-camera {
  left: 9px;
  top: 17px;
  width: 35px;
  height: 23px;
  border: 4px solid #d9d9d9;
  border-radius: 2px;
}

.add-photo-camera::before {
  left: 5px;
  top: 4px;
  width: 6px;
  height: 6px;
  background: #d9d9d9;
  border-radius: 50%;
}

.add-photo-camera::after {
  left: 7px;
  bottom: 4px;
  width: 21px;
  height: 9px;
  border-left: 4px solid #d9d9d9;
  border-bottom: 4px solid #d9d9d9;
  transform: skewX(-32deg);
}

.add-photo-placeholder::after {
  content: "";
  position: absolute;
  left: 4px;
  right: 4px;
  top: 26px;
  height: 6px;
  background: #d9d9d9;
  transform: rotate(45deg);
  transform-origin: center;
  border-radius: 4px;
}

.add-profile-label,
.add-profile-select { grid-row: 4; }
.add-registration-label,
.add-registration-input { grid-row: 5; }
.add-payment-label,
.add-payment-value { grid-row: 6; }
.add-reminder-label,
.add-radio-row { grid-row: 8; }
.add-credit-euro-label,
.add-credit-row { grid-row: 10; }
.add-credit-member-label,
.add-member-credit-row { grid-row: 11; }
.add-session-label,
.add-session-label + .add-credit-select { grid-row: 13; }
.add-workshop-label,
.add-workshop-label + .add-credit-select { grid-row: 14; }
.add-value-label,
.add-value-row { grid-row: 15; }

.add-birth-label {
  height: 52px;
}

.admin-add-dependent-plus {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
  min-height: 18px;
  margin-left: 4px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: #2aa84a;
  color: #fff;
  font-size: 18px;
  line-height: 18px;
  font-weight: 700;
}

.add-reminder-label {
  min-height: 62px;
  line-height: 21px;
}

.add-photo-file-control {
  display: flex;
  width: 242.13px;
  height: 31px;
  min-height: 31px;
  overflow: hidden;
  border: 1px solid #dee2e6;
  border-radius: 3.2px;
  background: #fff;
  color: #212529;
  font-size: 14px;
  line-height: 21px;
  cursor: pointer;
}

.add-photo-file-button,
.add-photo-file-name {
  display: inline-flex;
  height: 29px;
  align-items: center;
  overflow: hidden;
  white-space: nowrap;
}

.add-photo-file-button {
  flex: 0 0 auto;
  padding: 2px 8px;
  border-right: 1px solid #adb5bd;
  background: #e9ecef;
}

.add-photo-file-name {
  min-width: 0;
  padding: 2px 8px;
  text-overflow: ellipsis;
}

.add-photo-input-native {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
}

.add-profile-select {
  width: 175.6px;
}

.add-registration-input {
  width: 109.06px;
}

.add-radio-row {
  display: flex;
  gap: 24px;
  align-items: center;
}

.add-radio-row label {
  display: inline-flex;
  gap: 6px;
  align-items: center;
  margin: 0;
  font-weight: 400;
}

.add-radio-row input {
  width: 13px;
  height: 13px;
  min-height: 13px;
  padding: 0;
}

.add-credit-row,
.add-member-credit-row {
  display: flex;
  gap: 28px;
  align-items: baseline;
}

.add-member-credit-row {
  gap: 20px;
}

.add-member-credit-detail {
  color: #333;
}

.add-dispatcher-text {
  color: #28a745;
}

.add-credit-select {
  width: 75.8px;
}

.add-value-row {
  display: flex;
  gap: 0;
  align-items: center;
}

.add-value-row input {
  width: 34.65px;
}

.add-value-row span {
  display: inline-flex;
  align-items: center;
  height: 31px;
  min-height: 31px;
  padding: 4px 8px;
  border: 1px solid #dee2e6;
  border-left: 0;
  border-radius: 0 3.2px 3.2px 0;
  background: #e9ecef;
  color: #212529;
  font-size: 14px;
  line-height: 21px;
  white-space: nowrap;
}

.admin-member-add-create-row {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 4px;
  min-height: 86px;
  margin-top: 48px;
  padding-right: 0;
  color: #333;
  font-size: 16px;
  line-height: 24px;
}

.admin-member-add-create-row span {
  flex: 0 0 100%;
  margin: 0 0 8px;
  align-self: flex-start;
  text-align: center;
  white-space: nowrap;
}

.admin-member-add-create-row .btn {
  align-self: flex-end;
  min-height: 38px;
  padding: 6px 12px;
  border-radius: 4px;
  font-size: 16px;
  line-height: 24px;
  font-weight: 400;
}

.admin-member-add-create-row .btn-outline-secondary {
  border-color: #212529;
  background-color: #212529;
  color: #fff;
}

.admin-member-add-rgpd {
  margin: 22px 0 0;
  color: #212529;
  font-size: 14px;
  line-height: 21px;
  font-weight: 400;
  text-align: center;
}

.admin-member-add-rgpd::first-line {
  color: #ff6b7a;
}

@media (min-width: 769px) {
  .admin-member-add-grid {
    position: relative;
  }

  .add-photo-label,
  .add-photo-file-control,
  .add-photo-placeholder,
  .add-profile-label,
  .add-profile-select,
  .add-registration-label,
  .add-registration-input,
  .add-payment-label,
  .add-payment-value,
  .add-reminder-label,
  .add-radio-row,
  .add-credit-euro-label,
  .add-credit-row,
  .add-credit-member-label,
  .add-member-credit-row,
  .add-session-label,
  .add-session-label + .add-credit-select,
  .add-workshop-label,
  .add-workshop-label + .add-credit-select,
  .add-value-label,
  .add-value-row {
    position: absolute;
    grid-column: 1 / -1 !important;
    grid-row: 1 / -1 !important;
  }

  .add-photo-label { left: 558.27px; top: 0; }
  .add-photo-file-control { left: 703.34px; top: 0; }
  .add-photo-placeholder { left: 713px; top: 47px; }
  .add-profile-label { left: 558.27px; top: 147px; }
  .add-profile-select { left: 703.34px; top: 147px; }
  .add-registration-label { left: 558.27px; top: 186px; }
  .add-registration-input { left: 703.34px; top: 186px; }
  .add-payment-label { left: 558.27px; top: 233px; }
  .add-payment-value { left: 703.34px; top: 233px; }
  .add-reminder-label { left: 558.27px; top: 287.41px; }
  .add-radio-row { left: 703.34px; top: 294.91px; }
  .add-credit-euro-label { left: 558.27px; top: 372.41px; }
  .add-credit-row { left: 703.34px; top: 372.41px; }
  .add-credit-member-label { left: 558.27px; top: 426.81px; }
  .add-member-credit-row { left: 703.34px; top: 426.81px; }
  .add-session-label { left: 691.34px; top: 481.22px; }
  .add-session-label + .add-credit-select { left: 836.4px; top: 481.22px; }
  .add-workshop-label { left: 691.34px; top: 516.22px; }
  .add-workshop-label + .add-credit-select { left: 836.4px; top: 516.22px; }
  .add-value-label { left: 558.27px; top: 567.22px; }
  .add-value-row { left: 703.34px; top: 567.22px; }

  .add-photo-label,
  .add-profile-label,
  .add-registration-label,
  .add-payment-label,
  .add-reminder-label,
  .add-credit-euro-label,
  .add-credit-member-label,
  .add-value-label {
    width: 133.06px;
    white-space: normal;
  }

  .add-credit-row {
    display: grid;
    grid-template-columns: 133.06px auto;
    gap: 0;
    width: 399.2px;
  }

  .add-member-credit-row {
    display: grid;
    grid-template-columns: 133.06px 32px auto;
    gap: 0;
    width: 399.2px;
  }

  .add-credit-row strong,
  .add-member-credit-row strong {
    margin-top: 0;
  }

  .admin-member-add-grid .add-credit-euro-label,
  .admin-member-add-grid .add-credit-member-label {
    font-weight: 700;
  }

  .add-credit-euro-label .admin-add-dependent-plus,
  .add-credit-member-label .admin-add-dependent-plus {
    display: flex;
    margin-top: 3px;
    margin-left: 0;
  }

  .add-member-credit-row .add-member-credit-detail,
  .add-member-credit-row .add-dispatcher-text {
    display: inline;
  }

  body:has(.topbar):has(.members) .members .table {
    table-layout: fixed;
  }

  body:has(.admin-topbar):has(.admin-members-page) .members .table {
    table-layout: fixed;
  }

  body:has(.admin-topbar):has(.admin-members-page) .admin-members-source-table th:nth-child(1),
  body:has(.admin-topbar):has(.admin-members-page) .admin-members-source-table td:nth-child(1) { width: 88px; }
  body:has(.admin-topbar):has(.admin-members-page) .admin-members-source-table th:nth-child(2),
  body:has(.admin-topbar):has(.admin-members-page) .admin-members-source-table td:nth-child(2) { width: 320px; text-align: left; }
  body:has(.admin-topbar):has(.admin-members-page) .admin-members-source-table th:nth-child(3),
  body:has(.admin-topbar):has(.admin-members-page) .admin-members-source-table td:nth-child(3) { width: 188px; }
  body:has(.admin-topbar):has(.admin-members-page) .admin-members-source-table th:nth-child(4),
  body:has(.admin-topbar):has(.admin-members-page) .admin-members-source-table td:nth-child(4) { width: 188px; }
  body:has(.admin-topbar):has(.admin-members-page) .admin-members-source-table th:nth-child(5),
  body:has(.admin-topbar):has(.admin-members-page) .admin-members-source-table td:nth-child(5) { width: 166px; }
  body:has(.admin-topbar):has(.admin-members-page) .admin-members-source-table th:nth-child(6),
  body:has(.admin-topbar):has(.admin-members-page) .admin-members-source-table td:nth-child(6) { width: 140px; }
  body:has(.admin-topbar):has(.admin-members-page) .admin-members-source-table th:nth-child(7),
  body:has(.admin-topbar):has(.admin-members-page) .admin-members-source-table td:nth-child(7) { width: 82px; }
  body:has(.admin-topbar):has(.admin-members-page) .admin-members-source-table th:nth-child(8),
  body:has(.admin-topbar):has(.admin-members-page) .admin-members-source-table td:nth-child(8) { width: 82px; }
  body:has(.admin-topbar):has(.admin-members-page) .admin-members-source-table th:nth-child(9),
  body:has(.admin-topbar):has(.admin-members-page) .admin-members-source-table td:nth-child(9) { width: 104px; }

  body:has(.topbar):has(.members) .members .table th:nth-child(1),
  body:has(.topbar):has(.members) .members .table td:nth-child(1) { width: 68.06px; }
  body:has(.topbar):has(.members) .members .table th:nth-child(2),
  body:has(.topbar):has(.members) .members .table td:nth-child(2) { width: 380.23px; }
  body:has(.topbar):has(.members) .members .table th:nth-child(3),
  body:has(.topbar):has(.members) .members .table td:nth-child(3) { width: 111.89px; }
  body:has(.topbar):has(.members) .members .table th:nth-child(4),
  body:has(.topbar):has(.members) .members .table td:nth-child(4) { width: 119.89px; }
  body:has(.topbar):has(.members) .members .table th:nth-child(5),
  body:has(.topbar):has(.members) .members .table td:nth-child(5) { width: 111.89px; }
  body:has(.topbar):has(.members) .members .table th:nth-child(6),
  body:has(.topbar):has(.members) .members .table td:nth-child(6) { width: 112.08px; }
  body:has(.topbar):has(.members) .members .table th:nth-child(7),
  body:has(.topbar):has(.members) .members .table td:nth-child(7) { width: 118.7px; }
  body:has(.topbar):has(.members) .members .table th:nth-child(8),
  body:has(.topbar):has(.members) .members .table td:nth-child(8) { width: 79.88px; }
  body:has(.topbar):has(.members) .members .table th:nth-child(9),
  body:has(.topbar):has(.members) .members .table td:nth-child(9) { width: 102.17px; }
}

.members .table th,
.members .table td {
  padding: 8px;
}

.members .table tbody tr:first-child td {
  padding-top: 10.56px;
  padding-bottom: 10.56px;
}

.members .result-count {
  display: none;
}

.member-sort-icon {
  display: inline-block;
  min-width: 13px;
  color: #fff;
  cursor: pointer;
  font-style: normal;
  text-align: center;
}

.member-sort-icon:hover {
  color: #d8d8d8;
}

.member-sort-icon.bi-caret-down::before {
  content: "\f22c";
}

.member-sort-icon.bi-caret-up::before {
  content: "\f238";
}

.avatar {
  display: block;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: #e9ecef;
}

.avatar-placeholder {
  display: block;
  background: transparent;
}

.avatar-placeholder::before {
  content: "\f4e1";
  font-family: "bootstrap-icons";
  font-size: 34px;
  line-height: 34px;
  color: #666;
}

.pagination {
  display: flex;
  justify-content: center;
  margin: 20px 0 8px;
}

.members .pagination {
  margin: 0;
  padding: 0;
}

.members .page-link {
  min-width: 0;
  min-height: 0;
  margin: 3px 3px 3px -1px;
  border-radius: 3px;
}

.members .page-link:first-child {
  margin-left: 3px;
  border-radius: 4px 3px 3px 4px;
}

.members .page-link:last-child {
  border-radius: 3px 4px 4px 3px;
}

.page-link {
  min-width: 34px;
  min-height: 38px;
  border: 1px solid var(--primary);
  background: #fff;
  color: var(--primary);
  cursor: pointer;
  padding: 6px 12px;
  font-size: 14.4px;
  line-height: 24.48px;
}

.page-link.active {
  background: #fff;
  color: #d4e2fa;
}

.member-detail {
  padding-top: 48px;
  padding-bottom: 12px;
}

.member-detail h3 {
  margin: 0 0 24px 12px;
  color: var(--primary);
  font-family: Ubuntu, sans-serif;
  font-size: 19.2px;
  font-weight: 400;
  line-height: 30px;
  text-transform: uppercase;
}

.member-detail h3 small {
  font-size: 17px;
  font-weight: 400;
}

.member-edit-form {
  padding: 0 0 0 0;
}

.member-detail-grid {
  display: grid;
  grid-template-columns: 150.6px 12px 176.8px 12px 100.4px 12px 126.6px 37.4px 150px 150px 150px 90px;
  grid-template-rows: 31px 31px 31px 31px 31px 31px 17px 31px 31px 31px 68px;
  column-gap: 0;
  row-gap: 8px;
  align-items: center;
  margin-left: -3.4px;
  position: relative;
  background:
    linear-gradient(#dee2e6, #dee2e6) 12px 242px / 578px 1px no-repeat,
    linear-gradient(#dee2e6, #dee2e6) 12px 446px / 578px 1px no-repeat,
    linear-gradient(#dee2e6, #dee2e6) 640px 316px / 590px 1px no-repeat,
    linear-gradient(#dee2e6, #dee2e6) 640px 462px / 590px 1px no-repeat;
}

.member-detail-grid::before {
  content: "";
  position: absolute;
  left: 602.4px;
  top: 0;
  width: 0;
  height: 532px;
  border-left: 1px solid #dee2e6;
  pointer-events: none;
}

.member-detail-grid label {
  margin: 0;
  min-height: 31px;
  padding: 5px 12px;
  color: #535353;
  font-size: 14px;
  line-height: 21px;
}

.member-detail-grid input,
.member-detail-grid select,
.member-detail-grid textarea {
  min-height: 31px;
  padding: 4px 8px;
  border-radius: 3.2px;
  font-size: 14px;
  line-height: 21px;
}

.member-detail-grid select {
  min-height: 32px;
  padding-right: 36px;
  font-size: 14.4px;
  line-height: 21.6px;
}

.member-detail-grid textarea {
  min-height: 52px;
}

.first-label { grid-column: 1; grid-row: 1; }
.first-field { grid-column: 2 / 9; grid-row: 1; }
.last-label { grid-column: 1; grid-row: 2; }
.last-field { grid-column: 2 / 9; grid-row: 2; }
.birth-label { grid-column: 1; grid-row: 3; }
.birth-field { grid-column: 3; grid-row: 3; }
.email-label { grid-column: 1; grid-row: 4; }
.email-field { grid-column: 3; grid-row: 4; }
.phone-label { grid-column: 5; grid-row: 4; }
.phone-field { grid-column: 7; grid-row: 4; }
.address-label { grid-column: 1; grid-row: 5; }
.address-field { grid-column: 3 / 8; grid-row: 5; }
.postcode-label { grid-column: 1; grid-row: 6; }
.postcode-field { grid-column: 3; grid-row: 6; }
.city-label { grid-column: 5; grid-row: 6; }
.city-field { grid-column: 7; grid-row: 6; }

.postcode-field {
  width: 126.6px;
}

.city-label {
  width: 50.2px;
  transform: translateX(-50.2px);
}

.city-field {
  width: 227px;
  transform: translateX(-100.4px);
}
.civility-label { grid-column: 1; grid-row: 8; }
.civility-field { grid-column: 3 / 8; grid-row: 8; }
.profile-label { grid-column: 1; grid-row: 9; }
.profile-field { grid-column: 3 / 8; grid-row: 9; }
.origin-label { grid-column: 1; grid-row: 10; }
.origin-field { grid-column: 3 / 8; grid-row: 10; }
.comments-label { grid-column: 1; grid-row: 11; align-self: stretch; }
.comments-field {
  grid-column: 3 / 8;
  grid-row: 11;
  align-self: start;
  transform: translateY(2.3px);
}

.member-detail-grid .source-plain {
  min-height: 31px;
  border: 0;
  border-radius: 0;
  background: transparent;
  padding: 0 12px;
  color: #535353;
  font-size: 16px;
  line-height: 27.2px;
}

.right-photo-label {
  grid-column: 9;
  grid-row: 1 / span 3;
  align-self: start;
  min-height: 100px;
}

.member-photo-box {
  grid-column: 10;
  grid-row: 1 / span 3;
  align-self: start;
  width: 170px;
  height: 100px;
  border: 0;
  background: #fff;
  padding-left: 12px;
}

.member-photo-box img {
  display: block;
  width: 100px;
  height: 100px;
  margin-left: 0;
}

.member-profile-copy,
.member-static {
  min-height: 31px;
  padding: 4px 8px;
  font-size: 14px;
  line-height: 21px;
}

.member-profile-label {
  grid-column: 9;
  grid-row: 4;
}

.member-profile-copy {
  grid-column: 10 / 13;
  grid-row: 4;
  align-self: start;
  width: 390px;
  min-height: 54.4px;
  padding: 0 12px;
  font-size: 16px;
  line-height: 27.2px;
  white-space: normal;
}

.registered-label { grid-column: 9; grid-row: 5; }
.registered-field { grid-column: 10; grid-row: 5; }
.membership-label { grid-column: 9; grid-row: 6; }
.membership-field { grid-column: 10 / 13; grid-row: 6; }
.priority-label { grid-column: 9; grid-row: 8; }
.priority-field { grid-column: 10; grid-row: 8; }
.reminder-label { grid-column: 11; grid-row: 8; }
.reminder-field { grid-column: 12; grid-row: 8; }
.euro-label { grid-column: 9; grid-row: 9; }
.euro-field { grid-column: 10 / 13; grid-row: 9; }
.credits-label { grid-column: 9; grid-row: 10; }
.credits-field { grid-column: 10 / 13; grid-row: 10; }
.session-spacer { grid-column: 9; grid-row: 11; }
.session-field { grid-column: 10 / 13; grid-row: 11; align-self: start; }
.workshop-field { grid-column: 10 / 13; grid-row: 11; align-self: end; }
.linked-label { grid-column: 9; grid-row: 12; }
.linked-field { grid-column: 10 / 13; grid-row: 12; }

.registered-label,
.registered-field {
  transform: translateY(22.4px);
}

.membership-label,
.membership-field {
  transform: translateY(30.4px);
}

.registered-field,
.membership-field {
  padding: 0 12px;
  font-size: 16px;
  line-height: 27.2px;
}

.membership-field {
  font-weight: 700;
}

.priority-label,
.priority-field,
.reminder-label,
.reminder-field {
  align-self: start;
  height: 52px;
  min-height: 52px;
}

.euro-label,
.euro-field {
  transform: translateY(27.4px);
}

.credits-label,
.credits-field {
  transform: translateY(19.4px);
}

.session-field {
  transform: translateY(11.4px);
}

.workshop-field {
  transform: translateY(10.4px);
}

.linked-label,
.linked-field {
  transform: translateY(25px);
}

.member-credit-line {
  display: grid;
  grid-template-columns: 170px max-content;
  min-height: 31px;
  align-items: center;
  gap: 10px;
  font-size: 14px;
  line-height: 21px;
}

.member-credit-line strong,
.member-credit-line span {
  white-space: nowrap;
}

.member-credit-line select {
  width: 88px;
  background-color: #e9ecef;
}

.session-field,
.workshop-field {
  grid-template-columns: 152px 88px;
}

.member-history-actions {
  display: block;
  gap: 0;
  margin: 12px 0 48px 8.6px;
  font-size: 14px;
}

.member-history-actions > span {
  color: #535353;
  line-height: 23.8px;
  margin-right: 8px;
}

.btn-history {
  background: #666;
  border-color: #666;
  color: #fff;
  display: inline-block;
  position: relative;
  overflow: visible;
  min-height: 31px;
  padding: 4px 8px;
  border-radius: 3.2px;
  font-size: 14px;
  line-height: 21px;
}

.badge-count {
  position: absolute;
  top: -8px;
  right: -9px;
  min-width: 19px;
  padding: 3.675px 6.825px;
  border-radius: 800px;
  background: #dc3545;
  color: #fff;
  font-size: 10.5px;
  font-weight: 700;
  line-height: 10.5px;
  text-align: center;
  margin-left: 0;
}

.member-history-actions .oldBook {
  width: 101px;
  margin-right: 5px;
}

.member-history-plus {
  display: inline-flex;
  width: 23px;
  height: 23px;
  min-height: 0;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: 50%;
  background: #28a745;
  color: #fff;
  font-size: 18px;
  font-weight: 700;
  line-height: 23px;
  vertical-align: middle;
  cursor: pointer;
}

.member-history-plus-reservation {
  margin-right: 16px;
}

.member-history-plus-note {
  margin-left: 5px;
}

.member-history-actions .transactions {
  width: 125px;
  margin-right: 16.8px;
}

.member-history-actions .adhesions {
  width: 78px;
  margin-right: 16.3px;
}

.member-history-actions .existingNotes {
  width: 56px;
}

.member-detail-actions {
  display: flex;
  justify-content: center;
  gap: 4px;
}

.member-detail-actions .btn {
  display: inline-block;
}

.member-detail-actions .btn-dark,
.member-detail-actions .btn-primary {
  height: 36px;
  border-width: 0;
  overflow: clip;
}

.member-detail-actions .btn-primary {
  color: var(--accent);
}

.rgpd-warning {
  margin: 28px auto 0;
  max-width: 980px;
  color: #535353;
  text-align: center;
  font-size: 14px;
  line-height: 23.8px;
}

.member-panel-table {
  margin-top: 12px;
}

.result-count,
.empty-results {
  text-align: center;
  color: var(--muted);
}

.footer {
  display: flex;
  justify-content: space-around;
  gap: 16px;
  min-height: 147px;
  align-items: center;
  background: var(--soft);
  color: #666;
  font-size: 14px;
}

.footer a {
  color: #666;
}

.to-top {
  position: fixed;
  right: 30px;
  bottom: 30px;
  width: 50px;
  height: 50px;
  border: 0;
  border-radius: 4px;
  background: rgba(0, 0, 0, 0.15);
  color: #fff;
  cursor: pointer;
}

body:has(.members) .footer {
  display: block;
  min-height: 147px;
  padding: 100px 0 20px;
  background: #fff;
  color: #666;
  font-size: 16px;
  line-height: 27.2px;
}

body:has(.members) .footer a {
  display: inline;
  color: #666;
}

body:has(.members) .footer div {
  display: inline;
}

body:has(.members) .footer div::after {
  content: " ";
}

body:has(.members) .to-top {
  display: none;
}

body:has(.member-detail) .to-top {
  display: none;
}

body:has(.member-detail) .footer {
  align-items: flex-start;
  min-height: 147px;
  padding-top: 40px;
  background: #fff;
}

@media (min-width: 768px) {
  body:has(.moncompte) .moncompte {
    min-height: auto;
    padding: 24px 12px 0;
    color: #535353;
  }

  body:has(.moncompte) .hello {
    margin: 0 0 28px;
    font-size: 16px;
    line-height: 27.2px;
  }

  body:has(.moncompte) .account-block {
    margin-bottom: 60px;
  }

  body:has(.moncompte) .account-block:nth-of-type(1) {
    margin-bottom: 71px;
  }

  body:has(.moncompte) .account-block h5 {
    height: 30px;
    margin: 0 0 8px;
    border-bottom: 0;
    padding: 0;
    color: var(--dark-accent);
    font-size: 18px;
    font-weight: 700;
    line-height: 30px;
  }

  body:has(.moncompte) .table td {
    padding: 8px;
    font-size: 14px;
    line-height: 21px;
    text-align: center;
  }

  body:has(.moncompte) .extrait,
  body:has(.moncompte) .inline-setting {
    font-size: 16px;
    line-height: 27.2px;
  }

  body:has(.moncompte) .extrait {
    padding: 0;
  }

  body:has(.moncompte) .wide,
  body:has(.moncompte) .modify_pwd {
    min-height: 36px;
    height: 36px;
    border: 0;
    background: #247879;
    color: #5bd8d9;
    font-size: 16px;
    line-height: 24px;
  }

  body:has(.moncompte) .account-block:nth-of-type(3) {
    margin-bottom: 47px;
  }

  body:has(.moncompte) .account-block:last-child {
    margin-bottom: 52px;
  }

  body:has(.moncompte) .footer {
    background: #fff;
  }
}

@media (max-width: 767px) {
  .modal-backdrop:has(.admin-contributor-editor-modal) {
    align-items: flex-start;
    justify-content: center;
    padding: 8px;
  }

  .admin-simple-page {
    box-sizing: border-box;
    max-width: 100%;
    min-width: 0;
    margin-top: 44px;
    padding: 0 24px;
  }

  .admin-simple-header {
    align-items: flex-start;
  }

  .admin-dashboard-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .admin-simple-page .table-responsive,
  .admin-parameter-groups,
  .admin-parameter-group {
    max-width: 100%;
    min-width: 0;
  }

  .admin-subscribers-page {
    width: 390px;
    max-width: none;
    margin: 48px 0 80px;
    padding: 0 12px;
  }

  .admin-subscribers-page .admin-reference-header {
    width: 302px;
    margin-bottom: 8px;
  }

  .admin-subscribers-page .admin-reference-header h3 {
    width: 302px;
    font-size: 19.2px;
    font-weight: 500;
    line-height: 23.04px;
  }

  .admin-subscribers-url {
    width: 302px;
    margin-bottom: 20px;
  }

  .admin-subscribers-actions {
    right: 12px;
    top: 0;
  }

  .admin-subscribers-actions select {
    width: 64px;
  }

  .admin-subscribers-page .table-responsive {
    width: 366px;
    max-width: 366px;
    margin-top: 22px;
    overflow-x: auto;
  }

  .admin-subscribers-table {
    width: 507px;
  }

  .admin-contributors-page {
    width: 637px;
    margin: 44px 0 70px 24px;
    padding: 0;
  }

  .admin-contributors-toolbar {
    min-height: 156px;
  }

  .admin-contributors-search {
    top: 47px;
    right: auto;
    left: 0;
  }

  .admin-contributors-actions {
    top: 102px;
  }

  .admin-crm-page {
    width: 532px;
    max-width: none;
    margin: 49px 0 60px 12px;
  }

  .admin-crm-page h3 {
    width: 366px;
    margin-bottom: 57px;
  }

  .admin-crm-warning {
    width: 366px;
    margin-bottom: 0;
  }

  .admin-crm-table-wrap,
  .admin-crm-table {
    width: 532px;
    max-width: none;
    table-layout: fixed;
  }

  .admin-crm-table th,
  .admin-crm-table td {
    padding: 8px 12px;
    white-space: normal;
  }

  .admin-crm-table thead tr {
    height: 45px;
  }

  .admin-crm-table tbody tr:first-child {
    height: 53px;
  }

  .admin-crm-table tbody tr:not(:first-child) {
    height: 65px;
  }

  .admin-crm-table th:nth-child(1),
  .admin-crm-table td:nth-child(1) {
    width: 72px;
  }

  .admin-crm-table th:nth-child(2),
  .admin-crm-table td:nth-child(2) {
    width: 178px;
  }

  .admin-crm-table th:nth-child(3),
  .admin-crm-table td:nth-child(3),
  .admin-crm-table th:nth-child(4),
  .admin-crm-table td:nth-child(4) {
    width: 72px;
  }

  .admin-crm-table th:nth-child(5),
  .admin-crm-table td:nth-child(5),
  .admin-crm-table th:nth-child(6),
  .admin-crm-table td:nth-child(6) {
    width: 69px;
  }

  .admin-crm-actions {
    margin-top: 16px;
  }

  .modal.admin-crm-field-editor-modal {
    width: 374px;
    max-width: none;
  }

  .admin-crm-source-form {
    width: 340px;
  }

  .admin-crm-source-row {
    display: block;
    min-height: 0;
    margin-bottom: 10px;
  }

  .admin-crm-source-row .form-control,
  .admin-crm-source-row .form-select {
    width: 100%;
  }

  .admin-crm-option-field .form-control {
    width: calc(100% - 48px);
  }

  .admin-contributor-source-modal {
    width: 374px;
    max-width: none;
  }

  .modal.admin-contributor-editor-modal {
    width: 374px;
    max-width: none;
  }

  .admin-contributor-source-body {
    padding: 44px 16px 30px;
  }

  .admin-contributor-source-modal--edit .admin-contributor-source-body {
    padding: 44px 16px 30px;
  }

  .admin-contributor-source-modal--edit .admin-contributor-attached-message {
    width: 340px;
    margin-left: 0;
  }

  .modal.admin-contributor-members-modal {
    width: 374px;
    max-width: none;
    height: calc(100vh - 16px);
    max-height: 828px;
  }

  .admin-contributor-members-body {
    padding: 16px;
  }

  .admin-contributor-members-search {
    flex-wrap: wrap;
    row-gap: 6px;
  }

  .admin-contributor-members-search label {
    width: 100%;
    margin-right: 0;
    overflow: visible;
  }

  .admin-contributor-members-search input {
    flex: 1 1 0;
    width: auto;
    min-width: 0;
  }

  .admin-contributor-source-modal label.error,
  .admin-contributor-error-label {
    width: auto;
    max-width: 100%;
    overflow-wrap: anywhere;
  }

.admin-contributor-source-form {
    display: block;
    position: static;
    height: auto;
  }

  .admin-contributor-source-form--errors {
    height: auto;
  }

  .admin-contributor-source-row {
    display: block;
    position: static;
    margin-bottom: 13px;
    width: auto;
  }

  .admin-contributor-source-modal--add .admin-contributor-source-row {
    margin-bottom: 7px;
  }

  .admin-contributor-source-modal--edit .admin-contributor-source-row {
    margin-bottom: 4px;
  }

  .admin-contributor-source-modal--edit .admin-contributor-row-member {
    margin-top: -8px;
  }

  .admin-contributor-source-modal--edit .admin-contributor-main-actions {
    margin-left: 77px;
  }

  .admin-contributor-source-row label {
    display: block;
    min-height: 24px;
    padding-top: 0;
  }

  .admin-contributor-source-row .contributor-description-input {
    width: 340px;
  }

  .admin-contributor-source-row .contributor-short-input {
    width: 141px;
  }

  .admin-contributor-member-row {
    display: block;
    height: auto;
  }

  .admin-contributor-member-row input[name="memberid"] {
    display: block;
    width: 185px;
  }

  .admin-contributor-main-actions {
    position: static;
    margin: 22px 0 14px 95px;
  }

  .admin-contributor-separator {
    position: static;
    width: auto;
    margin: 16px 0 20px;
  }

  .admin-contributor-source-modal--add .admin-contributor-separator {
    margin: 8px 0 13px;
  }

  .admin-contributor-source-modal--edit .admin-contributor-separator {
    margin: 9px 0 13px;
  }

  .admin-contributor-source-modal--edit .admin-contributor-row-planning {
    margin-top: -8px;
  }

  .admin-contributor-source-modal--edit .admin-contributor-row-attached {
    margin-top: 45px;
  }

  .admin-contributor-radio-row > div {
    display: block;
    margin-left: 0;
  }

  .admin-contributor-source-modal--edit .admin-contributor-radio-row > div {
    margin-left: 0;
  }

  .admin-contributor-radio-row > div label {
    display: flex;
    width: max-content;
    min-height: 21px;
    align-items: center;
  }

  .admin-contributor-row-planning > div label {
    display: inline-flex;
    width: auto;
  }

  .admin-contributor-row-list > div label {
    display: flex;
    width: max-content;
  }

  .admin-contributor-row-list > div label:has(input[type="radio"]) {
    height: 21px;
    min-height: 21px;
    margin-top: 4px;
    margin-bottom: 0;
    line-height: 21px;
  }

  .admin-contributor-row-list > div label:has(input[type="radio"]) + label:has(input[type="radio"]) {
    margin-top: 0;
  }

  .admin-contributor-note-row .small {
    width: 340px;
    margin-left: 0;
  }

  .admin-contributor-attached-message {
    width: 340px;
  }

  .admin-parameter-group {
    overflow-x: hidden;
  }

  .admin-parameter-group .table-responsive {
    overflow-x: auto;
  }

  .admin-parameters-page {
    width: 100vw;
    margin: 25px 0 50px;
  }

  .admin-parameters-page h3 {
    width: calc(100% - 24px);
    margin-right: 12px;
    margin-bottom: 8px;
    margin-left: 12px;
    font-size: 19.2px;
    font-weight: 500;
    line-height: 23.04px;
  }

  .admin-parameters-row,
  .admin-parameters-widget {
    grid-template-columns: 1fr;
    row-gap: 0;
  }

  .admin-parameters-row label,
  .admin-parameters-widget label {
    padding-right: 12px;
    padding-left: 12px;
  }

  .admin-parameters-control,
  .admin-parameters-row select.admin-parameters-control,
  .admin-parameters-row--narrow select.admin-parameters-control {
    width: calc(100% - 24px);
    max-width: none;
    margin-right: 12px;
    margin-left: 12px;
  }

  .admin-parameters-warning {
    margin-right: 0;
    margin-left: 0;
  }

  .admin-parameters-row:has([name="smtp_host"]) {
    margin-top: 20px;
  }

  .admin-parameters-actions {
    justify-content: flex-start;
    margin-top: 32px;
  }

  .admin-parameters-widget {
    margin-top: 42px;
  }

  .admin-topbar {
    position: relative;
    display: block;
    height: 282px;
    padding: 0;
    overflow: hidden;
    background: #212529;
  }

  .admin-quick-links {
    display: none;
  }

  .admin-mobile-toggler {
    position: absolute;
    top: 122px;
    left: 12px;
    display: flex;
    width: 55px;
    height: 40px;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 5px;
    border: 1px solid #333b41;
    border-radius: 3px;
    background: #24292e;
    box-shadow: inset 0 1px rgba(255, 255, 255, 0.03);
  }

  .admin-mobile-toggler span {
    display: block;
    width: 26px;
    height: 2px;
    border-radius: 2px;
    background: #8f989e;
  }

  .admin-home-link {
    position: absolute;
    top: 20px;
    left: 93px;
    width: 21px;
    height: 21px;
    margin: 0;
    font-size: 18px;
  }

  .admin-main-nav {
    position: absolute;
    top: 54px;
    left: 93px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0;
  }

  .admin-nav-link {
    min-height: 26px;
    font-size: 17px;
    line-height: 25px;
  }

  .admin-options {
    min-height: 32px;
    padding: 2px 12px;
    border-radius: 17px;
    font-size: 16px;
    line-height: 24px;
  }

  .admin-model-sort-notice {
    top: 1px;
    left: 1px;
    width: calc(100% - 2px);
    min-height: 230px;
    padding: 34px 28px;
    font-size: 18px;
  }

  .admin-model-sort-notice strong {
    margin-bottom: 24px;
    font-size: 22px;
  }

  .admin-model-sort-notice p {
    font-size: 18px;
  }

  .admin-exit {
    position: absolute;
    top: 126px;
    right: 10px;
    min-height: 22px;
    margin: 0;
    padding: 1px 8px 2px;
    border-radius: 12px;
    font-size: 12px;
    line-height: 16px;
  }

  .admin-planning-filters {
    grid-template-columns: 1fr;
    row-gap: 8px;
    width: 100%;
    max-width: 100%;
  }

  .admin-planning-filters h4 {
    transform: none;
  }

  .admin-planning-filters .admin-filter-dropdown,
  .admin-planning-filters .admin-filter-button,
  .admin-planning-filters .admin-calendar-btn {
    transform: none;
  }

  .admin-planning-filters .admin-filter-dropdown > .dropdown-menu {
    width: 100%;
    max-width: 100%;
  }

  .admin-planning-filters .admin-calendar-btn {
    width: 31px;
    height: 31.59px;
    font-size: 14px;
  }

  .planning-shell.admin-planning-shell {
    margin-top: 23px;
    width: 100%;
    max-width: 100%;
  }

  .model-list.admin-model-list {
    transform: translate(-23px, 22px);
  }

  .admin-calendar {
    transform: translate(-36px, 22px);
  }
}

.modal-backdrop {
  position: fixed;
  inset: 0;
  z-index: 1000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 28px 20px;
  background: rgba(0, 0, 0, 0.5);
  overflow: auto;
}

.modal {
  position: relative;
  width: min(1000px, calc(100vw - 40px));
  background: #fff;
  border-radius: 4px;
  box-shadow: var(--shadow);
  padding: 18px;
}

.modal.admin-contributor-editor-modal {
  padding: 0;
}

.modal h4 {
  margin: 0 40px 16px 0;
  font-size: 22px;
}

.confirm-action-logout-modal {
  width: min(500px, calc(100vw - 16px));
  min-height: 192px;
  padding: 0;
  overflow: hidden;
  border: 1px solid rgba(0, 0, 0, 0.2);
  border-radius: 4.8px;
  box-shadow: none;
  color: #212529;
  font-size: 16px;
  line-height: 24px;
}

.confirm-action-logout-modal .modal-header {
  display: flex;
  min-height: 63px;
  align-items: center;
  padding: 16px;
  border-bottom: 1px solid #dee2e6;
}

.confirm-action-logout-modal .modal-title {
  margin: 0;
  color: #212529;
  font-size: 20px;
  font-weight: 500;
  line-height: 30px;
}

.confirm-action-logout-modal .btn-close {
  position: static;
  display: block;
  width: 32px;
  height: 32px;
  margin: -8px -8px -8px auto;
  padding: 8px;
  overflow: hidden;
  border: 0;
  border-radius: 4px;
  background: transparent;
  color: #000;
  font-size: 0;
  line-height: 24px;
  opacity: 0.5;
}

.confirm-action-logout-modal .btn-close::before {
  content: "\00d7";
  display: block;
  color: #000;
  font-size: 16px;
  line-height: 16px;
}

.confirm-action-logout-modal .modal-body {
  min-height: 56px;
  padding: 16px;
  border-bottom: 1px solid #dee2e6;
  color: #212529;
}

.confirm-action-logout-modal .form-errors {
  margin: 0;
}

.confirm-action-logout-modal .modal-footer {
  display: flex;
  min-height: 71px;
  align-items: center;
  justify-content: flex-end;
  padding: 12px;
}

.confirm-action-logout-modal .modal-footer .btn {
  min-height: 38px;
  margin: 4px;
  padding: 6px 12px;
  border-radius: 4px;
  color: #fff;
  font-size: 16px;
  font-weight: 400;
  line-height: 24px;
}

.confirm-action-logout-modal .modal-footer .btn-secondary {
  background: #6c757d;
  border-color: #6c757d;
}

.confirm-action-logout-modal .modal-footer .btn-primary {
  background: #247879;
  border-color: #247879;
}

.add-participant-modal {
  display: flex;
  max-height: calc(100vh - 56px);
  flex-direction: column;
  overflow: hidden;
}

.event-modal,
.planning-colors-modal,
.planning-contributors-modal,
.planning-members-modal,
.planning-rooms-modal {
  display: flex;
  width: 100vw;
  max-width: 100vw;
  min-height: calc(100vh - 56px);
  align-items: center;
  justify-content: center;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.planning-event-dialog {
  width: min(1140px, calc(100vw - 40px));
  transform: none;
}

.planning-event-dialog--personal {
  transform: translateY(-26px);
}

.planning-event-dialog--paid-personal {
  transform: translateY(-52px);
}

.planning-event-dialog--admin-model {
  transform: none;
}

.planning-rooms-dialog,
.planning-picker-dialog {
  width: min(1000px, calc(100vw - 40px));
  transform: none;
}

.planning-event-content,
.planning-rooms-content,
.planning-picker-content {
  overflow: hidden;
  border: 1px solid rgba(0, 0, 0, 0.2);
  border-radius: 4.8px;
  background: #fff;
  color: #535353;
  box-shadow: none;
  font-size: 16px;
  line-height: 24px;
}

.planning-picker-content .modal-header {
  display: flex;
  flex: 0 0 64px;
  height: 64px;
  min-height: 64px;
  max-height: 64px;
  align-items: flex-start;
  justify-content: space-between;
  padding: 16px 16px;
  border-bottom: 1px solid #dee2e6;
}

.planning-picker-content .modal-title {
  flex: 1 1 auto;
  margin: 0;
  padding-right: 48px;
  color: #212529;
  font-size: 20px;
  font-weight: 700;
  line-height: 30px;
}

.planning-picker-content .btn-close {
  width: 32px;
  height: 32px;
  border: 0;
  background: transparent;
  color: transparent;
  font-size: 0;
  opacity: 0.65;
  position: relative;
}

.planning-picker-content .btn-close::before,
.planning-picker-content .btn-close::after {
  content: "";
  position: absolute;
  top: 15px;
  left: 7px;
  width: 18px;
  height: 2px;
  background: #000;
}

.planning-picker-content .btn-close::before {
  transform: rotate(45deg);
}

.planning-picker-content .btn-close::after {
  transform: rotate(-45deg);
}

.planning-picker-content .modal-body {
  flex: 1 1 auto;
  min-height: 0;
  padding: 16px;
}

.planning-picker-dialog .planning-picker-content {
  display: flex;
  flex-direction: column;
  max-height: calc(100vh - 71px);
}

.planning-colors-dialog .planning-picker-content {
  min-height: 419px;
}

.planning-contributors-dialog .planning-picker-content {
  min-height: 912px;
}

.planning-rooms-dialog .planning-picker-content {
  min-height: 285px;
}

.planning-picker-dialog .modal-body {
  overflow: auto;
}

.planning-picker-content .modal-footer {
  display: flex;
  flex: 0 0 65px;
  height: 65px;
  min-height: 65px;
  max-height: 65px;
  align-items: center;
  justify-content: flex-end;
  padding: 12px 16px;
  border-top: 1px solid #dee2e6;
}

.planning-event-content {
  min-height: 572px;
}

.planning-event-content--personal {
  min-height: 622px;
}

.planning-event-content--paid-personal {
  min-height: 590.3125px;
}

.planning-event-content--admin-model {
  min-height: 711px;
}

.planning-rooms-content {
  min-height: 278px;
}

.history-modal,
.password-modal {
  display: flex;
  flex-direction: column;
  transform: translateY(-52px);
  padding: 0;
  border: 1px solid rgba(0, 0, 0, 0.2);
  border-radius: 4.8px;
  box-shadow: none;
  color: #535353;
  font-size: 16px;
  line-height: 27.2px;
}

.history-modal {
  width: min(1140px, calc(100vw - 40px));
}

.password-modal {
  width: min(500px, calc(100vw - 40px));
}

.history-modal .modal-header,
.password-modal .modal-header,
.planning-event-content .modal-header,
.planning-rooms-content .modal-header {
  display: flex;
  align-items: flex-start;
  min-height: 50.38px;
  padding: 11.2px 16px;
  border-bottom: 1px solid #dee2e6;
  border-radius: 3.8px 3.8px 0 0;
}

.history-modal .modal-title,
.password-modal .modal-title,
.planning-event-content .modal-title,
.planning-rooms-content .modal-title {
  margin: 0;
  color: #535353;
  font-size: 18px;
  font-weight: 400;
  line-height: 27px;
}

.planning-event-content .modal-header,
.planning-event-content .modal-title {
  color: var(--event-color, #535353);
}

.planning-event-content .modal-title-warning {
  color: #d41444;
}

.planning-event-content--admin-model .modal-header {
  min-height: 63px;
  padding: 16px;
}

.planning-event-content--admin-model .modal-title {
  font-size: 20px;
  font-weight: 500;
  line-height: 30px;
}

.history-modal .btn-close,
.password-modal .btn-close,
.planning-event-content .btn-close,
.planning-rooms-content .btn-close {
  position: static;
  width: 32px;
  height: 32px;
  margin: -8px -8px -8px auto;
  padding: 8px;
  border: 0;
  border-radius: 4px;
  background: transparent;
  color: transparent;
  font-size: 0;
  line-height: 1;
}

.history-modal .btn-close::before,
.password-modal .btn-close::before,
.planning-event-content .btn-close::before,
.planning-rooms-content .btn-close::before {
  content: "×";
  color: #000;
  font-size: 32px;
  font-weight: 300;
  line-height: 16px;
}

.history-modal .modal-body,
.password-modal .modal-body,
.planning-event-content .modal-body,
.planning-rooms-content .modal-body {
  padding: 16px;
}

.planning-event-content .modal-body {
  min-height: 459px;
}

.planning-event-content--personal .modal-body {
  min-height: 509px;
}

.planning-event-content--paid-personal .modal-body {
  min-height: 476.9375px;
}

.planning-event-content--admin-model .modal-body {
  min-height: 575px;
}

.planning-rooms-content .modal-body {
  min-height: 164px;
}

.history-modal .modal-body {
  min-height: 131.19px;
}

.password-modal .modal-body {
  height: 108px;
  min-height: 108px;
}

.history-modal .modal-footer,
.password-modal .modal-footer,
.planning-event-content .modal-footer,
.planning-rooms-content .modal-footer {
  display: flex;
  justify-content: flex-end;
  min-height: 59px;
  padding: 4px 12px;
  border-top: 1px solid #dee2e6;
  border-radius: 0 0 3.8px 3.8px;
}

.password-modal .modal-footer {
  min-height: 61px;
}

.planning-event-content .modal-footer,
.planning-rooms-content .modal-footer {
  min-height: 61px;
}

.planning-event-content--admin-model .modal-footer {
  min-height: 71px;
  padding: 12px;
}

.planning-event-content--admin-event .modal-footer {
  position: relative;
}

.planning-event-content--admin-event .btn-close {
  margin: -1px -8px -8px auto;
}

.planning-event-content .modal-footer .btn-outline-secondary {
  min-width: 96.21875px;
  margin-left: 0;
  border-radius: 4px;
  background: transparent;
}

.history-modal .input-line {
  height: 40px;
  margin: 16px 4px;
}

.history-modal .input-line input {
  min-height: 40px;
  height: 40px;
  padding: 4px 8px;
  border-radius: 3.2px 0 0 3.2px;
  font-size: 14px;
  line-height: 21px;
}

.history-modal .input-line .btn,
.history-modal .modal-footer .btn,
.password-modal .modal-footer .btn,
.planning-event-content .modal-footer .btn,
.planning-rooms-content .modal-footer .btn,
.planning-room-search .btn {
  display: block;
  min-height: 0;
  height: auto;
  margin: 4px;
  padding: 12px 20px;
  border-radius: 3.2px;
  font-size: 12px;
  font-weight: 700;
  line-height: 18px;
}

.planning-event-content .modal-footer .btn {
  display: inline-block;
  margin: 4px 4px 4px 0;
  border-radius: 4px;
}

.planning-event-content--admin-model .modal-footer .btn {
  height: 38px;
  margin: 0 4px 0 0;
  padding: 6px 12px;
  font-size: 16px;
  font-weight: 400;
  line-height: 24px;
  text-transform: none;
}

.planning-event-content--admin-model .modal-footer .btn-danger {
  min-width: 174px;
  margin-right: auto;
  background-color: #212529;
  border-color: #212529;
}

.planning-event-content--admin-model .modal-footer .btn-outline-secondary {
  min-width: 78px;
}

.planning-event-content--admin-model .modal-footer .btn-primary {
  min-width: 118px;
  height: 38px;
  color: #fff;
}

.planning-event-content .modal-footer .btn-danger {
  min-width: 119.765625px;
}

.planning-event-content .modal-footer .btn-primary {
  min-width: 140.03125px;
  height: 42px;
  color: var(--accent);
}

.planning-event-content--admin-model .modal-footer .btn-primary {
  min-width: 118px;
  width: 118px;
  height: 38px;
  color: #fff;
}

.planning-event-content--admin-event .modal-footer .btn {
  position: absolute;
  top: 16px;
  height: 38px;
  margin: 0;
  padding: 6px 12px;
  border-radius: 4px;
  font-size: 16px;
  font-weight: 400;
  line-height: 24px;
  text-transform: none;
}

.planning-event-content--admin-event .modal-footer .admin-duplicate-weekly {
  left: 28px;
  width: 160px;
  border-color: #212529;
  background: transparent;
  color: #212529;
}

.planning-event-content--admin-event .modal-footer .btn-danger {
  left: 816px;
  width: 101px;
  min-width: 101px;
}

.planning-event-content--admin-event .modal-footer .btn-outline-secondary {
  left: 922px;
  width: 78px;
  min-width: 78px;
}

.planning-event-content--admin-event .modal-footer .btn-primary {
  left: 1004px;
  width: 118px;
  min-width: 118px;
  color: #fff;
}

.history-modal .input-line .btn {
  height: 40px;
  margin: 0 0 0 -1px;
  padding: 10px 20px;
  border-radius: 0;
}

.planning-room-search .btn {
  height: 40px;
  margin: 0 0 0 -1px;
  padding: 10px 20px;
  border-radius: 0;
}

.history-modal .input-line .razevent {
  border-radius: 0 4px 4px 0;
}

.history-modal .modal-body p {
  margin: 0;
}

.history-modal .modal-footer .btn {
  height: 42px;
  border: 0;
}

.password-modal .modal-footer .btn-outline-dark {
  height: 44px;
}

.password-modal .modal-footer .btn-primary {
  height: 42px;
  border: 0;
  background: #247879;
  color: var(--accent);
}

.member-reservations-modal {
  width: min(1140px, calc(100vw - 140px));
  max-height: calc(100dvh - 56px);
  padding: 16px;
  overflow: auto;
  overscroll-behavior: contain;
}

.member-transactions-modal {
  width: min(1140px, calc(100vw - 140px));
  max-height: calc(100dvh - 56px);
  padding: 0;
  overflow: auto;
  overscroll-behavior: contain;
  border: 1px solid rgba(0, 0, 0, 0.2);
  border-radius: 4.8px;
  box-shadow: none;
}

.member-adhesions-modal,
.member-notes-modal {
  max-height: calc(100dvh - 56px);
  overflow: auto;
  overscroll-behavior: contain;
}

.member-transactions-modal h4 {
  min-height: 50.38px;
  margin: 0;
  padding: 11.2px 44px 11.2px 16px;
  border-bottom: 1px solid #dee2e6;
  color: #535353;
  font-size: 18px;
  font-weight: 400;
  line-height: 27px;
}

.member-transactions-modal .btn-close {
  top: 11px;
  right: 13px;
  padding: 0;
  color: #000;
  font-size: 32px;
  font-weight: 300;
  line-height: 28px;
}

.member-transactions-modal .member-panel-table {
  width: calc(100% - 32px);
  margin: 16px 16px 43.5px;
}

.member-transactions-modal .modal-actions {
  display: flex;
  justify-content: flex-end;
  min-height: 59px;
  margin: 0;
  padding: 4px 12px;
  border-top: 1px solid #dee2e6;
}

.member-transactions-modal .modal-actions .btn {
  display: block;
  min-height: 0;
  height: 42px;
  margin: 4px;
  padding: 12px 20px;
  border: 0;
  border-radius: 3.2px;
  background: var(--dark-accent);
  color: #fff;
  font-size: 12px;
  font-weight: 700;
  line-height: 18px;
}

.member-panel-search {
  display: grid;
  grid-template-columns: 180px 1fr 60px 70px;
  align-items: center;
  margin: 16px 0 8px;
}

.member-panel-search label {
  color: #535353;
  font-size: 14px;
}

.member-panel-search input {
  min-height: 40px;
  border-radius: 0;
}

.member-panel-search .btn {
  min-height: 40px;
  border-radius: 0;
  font-size: 12px;
  font-weight: 700;
}

.member-panel-search .btn:last-child {
  border-radius: 0 4px 4px 0;
}

.member-reservation-history {
  min-width: 820px;
  width: 100%;
  border-collapse: collapse;
  font-size: 14px;
}

.member-reservation-history th {
  padding: 10px 8px;
  background: #3d7d7c;
  color: #fff;
  text-align: left;
  font-size: 16px;
}

.member-reservation-history td {
  padding: 14px 8px 10px;
  border-bottom: 1px solid #dee2e6;
  vertical-align: top;
}

.member-reservation-history td:nth-child(1) { width: 39%; }
.member-reservation-history td:nth-child(2) { width: 28%; }
.member-reservation-history td:nth-child(3) { width: 16%; }
.member-reservation-history td:nth-child(4) { width: 9%; }
.member-reservation-history td:nth-child(5) { width: 8%; }

.member-reservation-check {
  color: #198754;
  font-weight: 700;
}

.member-reservation-status {
  display: inline-block;
  margin-top: 8px;
  padding: 4px 9px;
  border-radius: 3px;
  background: var(--dark-accent);
  color: #fff;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 1px;
}

.reservation-note-icon {
  width: 22px;
  height: 22px;
  border: 1px solid var(--primary);
  border-radius: 3px;
  background: transparent;
}

.reservation-note-icon::after {
  content: "";
  display: block;
  width: 9px;
  height: 9px;
  margin: 5px auto 0;
  border-right: 1px solid var(--primary);
  border-bottom: 1px solid var(--primary);
}

.btn-close {
  position: absolute;
  top: 12px;
  right: 12px;
  border: 0;
  background: transparent;
  font-size: 24px;
  cursor: pointer;
}

.planning-picker-content .btn-close {
  position: static;
  top: auto;
  right: auto;
  flex: 0 0 32px;
  margin: -8px -8px -8px auto;
  padding: 8px;
  font-size: 0;
}

.input-line {
  display: flex;
  gap: 0;
  align-items: center;
  margin: 12px 0;
}

.input-line input {
  flex: 1;
}

.member-attachment-list {
  flex: 1 1 auto;
  min-height: 0;
  max-height: 650px;
  overflow: auto;
  border-top: 1px solid #ddd;
}

.member-attachment-row {
  display: grid;
  grid-template-columns: 28px 1.2fr 1fr 72px 1.2fr;
  gap: 8px;
  align-items: center;
  min-height: 22px;
  border-bottom: 1px solid #fff;
  padding: 1px 6px;
  background: #f3f3f3;
  color: #535353;
  font-size: 13px;
  line-height: 20px;
}

.member-attachment-row:nth-child(even) {
  background: #e9e9e9;
}

.member-attach-plus {
  display: inline-grid;
  width: 17px;
  height: 17px;
  place-items: center;
  border: 0;
  border-radius: 50%;
  background: #379642;
  color: #fff;
  font-size: 13px;
  font-weight: 700;
  line-height: 17px;
  cursor: pointer;
}

.member-attachment-row .btn-danger {
  min-height: 20px;
  padding: 1px 6px;
  font-size: 11px;
  line-height: 16px;
}

.member-attach-last {
  font-weight: 600;
}

.member-attach-city,
.member-attach-first,
.member-attach-last,
.member-attach-postcode {
  min-width: 0;
  overflow-wrap: anywhere;
}

.member-attachment-name {
  border: 0;
  background: transparent;
  color: var(--text);
  text-align: left;
  cursor: pointer;
}

.member-attachment-name small {
  color: var(--muted);
}

.modal label {
  display: block;
  margin: 8px 0;
}

.modal label input,
.modal label select {
  width: 100%;
  margin-top: 4px;
}

.event-form {
  display: grid;
  grid-template-columns: 166px 353px 168px 353px;
  gap: 8px 22px;
  align-items: center;
}

.event-form--admin-model {
  position: relative;
  display: block;
  height: 527px;
}

.event-form--admin-model > * {
  grid-area: 1 / 1;
}

.event-form .field-label {
  margin: 0;
}

.event-form input,
.event-form select,
.event-form textarea {
  margin: 0;
  border-radius: 3.2px;
  font-size: 14px;
  line-height: 21px;
  background-color: #e9ecef;
  min-height: 31px;
}

.event-form input,
.event-form select {
  height: 31px;
  padding: 4px 8px;
}

.event-form select {
  padding-right: 36px;
}

.event-form select:disabled {
  opacity: 1;
}

.event-form .btn,
.event-form .listeservices,
.event-form .listecontribs,
.event-form .listerooms,
.event-form .listemembres,
.event-form .btn-colorselector {
  display: inline-block;
  min-height: 31px;
  padding: 5px 10px;
  border-radius: 3.2px;
  font-size: 12.8px;
  font-weight: 700;
  line-height: 19.2px;
  text-align: center;
  white-space: nowrap;
}

.event-form .listeservices,
.event-form .listecontribs,
.event-form .listerooms {
  background: transparent;
  color: #000;
}

.event-form .listemembres {
  min-height: 30px;
  height: 30px;
  background: transparent;
  color: #198754;
  border-color: #198754;
  font-size: 12px;
  line-height: 18px;
}

.event-form .listeservices {
  width: 353px;
  max-width: 100%;
}

.event-form .listecontribs {
  width: 353px;
}

.event-form .listerooms {
  width: 156px;
  margin-left: -8px;
}

.event-form .listemembres {
  width: 134.359px;
}

.event-form .disabled {
  opacity: 0.65;
  pointer-events: none;
}

.event-form .color-field {
  width: 164px;
  min-height: 31px;
  border: 0;
  border-radius: 3px;
  color: #fff;
  font-weight: 700;
}

.event-form .btn-colorselector {
  width: 164px;
  min-height: 29.1875px;
  height: 29.1875px;
  border-color: var(--dark-accent);
  color: #fff;
}

.field-with-action {
  display: grid;
  grid-template-columns: 1fr 36px;
  gap: 6px;
  align-items: center;
}

.field-with-action .btn {
  min-height: 31px;
  padding: 3px 8px;
}

.description-label {
  align-self: start;
}

.description-field {
  grid-column: 2 / span 3;
  width: 729px;
  height: 105px !important;
  min-height: 105px;
  padding: 4px 8px !important;
  color: #545454;
  line-height: 23.8px !important;
  background-color: rgba(239, 239, 239, 0.3) !important;
}

.event-form--editable input:not(:disabled),
.event-form--editable select:not(:disabled),
.event-form--editable textarea:not(:disabled) {
  background-color: #fff;
}

.event-form--editable .description-field {
  color: #000;
  border-color: #767676;
  background-color: #fff !important;
}

.event-form--admin-model .field-label,
.event-form--admin-model input,
.event-form--admin-model select,
.event-form--admin-model textarea,
.event-form--admin-model .btn,
.event-form--admin-model .listeservices,
.event-form--admin-model .listecontribs,
.event-form--admin-model .listerooms,
.event-form--admin-model .listemembres,
.event-form--admin-model .btn-colorselector,
.event-form--admin-model .reserved-member-wrap,
.event-form--admin-model .event-credit-legend {
  position: absolute;
  transform: none !important;
}

.event-form--admin-model input,
.event-form--admin-model select {
  width: 353px !important;
  min-width: 353px;
}

.event-form--admin-model .event-label-service {
  left: 0;
  top: 4px;
}

.event-form--admin-model .listeservices {
  left: 188px;
  top: 0;
  width: 353px;
}

.event-form--admin-model .event-label-color {
  left: 563px;
  top: 4px;
}

.event-form--admin-model .btn-colorselector {
  left: 753px;
  top: 0;
  width: 164px;
}

.event-form--admin-model .event-label-start {
  left: 0;
  top: 62px;
}

.event-form--admin-model .event-start-field {
  left: 188px;
  top: 58px;
  height: 38px;
  padding: 6px 12px;
  border-color: #212529;
  border-radius: 4px;
  font-size: 16px;
  line-height: 24px;
}

.event-form--admin-model .event-label-end {
  left: 563px;
  top: 62px;
}

.event-form--admin-model .event-end-field {
  left: 753px;
  top: 58px;
  height: 38px;
  padding: 6px 12px;
  border-color: #212529;
  border-radius: 4px;
  font-size: 16px;
  line-height: 24px;
}

.event-form--admin-model .event-label-bookuntil {
  left: 0;
  top: 104px;
}

.event-form--admin-model .bookuntil-field {
  left: 188px;
  top: 100px;
}

.event-form--admin-model .event-label-canceluntil {
  left: 563px;
  top: 104px;
}

.event-form--admin-model .canceluntil-field {
  left: 753px;
  top: 100px;
}

.event-form--admin-model .description-label {
  left: 0;
  top: 151px;
}

.event-form--admin-model .description-field {
  left: 188px;
  top: 147px;
  width: 729px;
  height: 94px !important;
  min-height: 94px;
  line-height: 21px !important;
}

.event-form--admin-model .event-label-visio {
  left: 0;
  top: 251px;
}

.event-form--admin-model .visio-field {
  left: 188px;
  top: 247px;
  width: 604px !important;
  min-width: 604px;
}

.event-form--admin-model .event-label-resume {
  left: 0;
  top: 290px;
}

.event-form--admin-model .resume-field {
  left: 188px;
  top: 286px;
  width: 729px;
  height: 52px;
  min-height: 52px;
  padding: 4px 8px;
  line-height: 21px;
  resize: vertical;
}

.event-form--admin-model .event-label-participation {
  left: 0;
  top: 364px;
}

.event-form--admin-model .participation-field {
  left: 188px;
  top: 360px;
  width: 353px !important;
  min-width: 353px;
  border-color: #212529;
}

.event-form--admin-model .event-credit-legend {
  left: 563px;
  top: 365px;
  margin-left: 0;
}

.event-form--admin-model .event-label-public {
  left: 0;
  top: 403px;
}

.event-form--admin-model .public-field {
  left: 188px;
  top: 399px;
  border-color: #212529;
}

.event-form--admin-model .event-label-capacity,
.event-form--admin-model .event-label-reserved {
  left: 563px;
  top: 403px;
}

.event-form--admin-model .capacity-field,
.event-form--admin-model .reserved-member-wrap {
  left: 753px;
  top: 399px;
}

.event-form--admin-model .event-label-contributor {
  left: 0;
  top: 442px;
}

.event-form--admin-model .listecontribs {
  left: 188px;
  top: 438px;
  width: 353px;
}

.event-form--admin-model .event-label-place {
  left: 563px;
  top: 442px;
}

.event-form--admin-model .listerooms {
  left: 753px;
  top: 438px;
  width: 156px;
  margin-left: 0;
}

.event-form--admin-model .event-label-online {
  left: 0;
  top: 509px;
}

.event-form--admin-model .online-field {
  left: 188px;
  top: 505px;
  color: #0e941b;
}

.event-form--admin-event .listeservices {
  width: 729px;
  height: 42px;
  min-height: 42px;
  padding: 8px 4.8px;
  font-size: 16px;
  font-weight: 400;
  line-height: 24px;
  text-transform: none;
}

.event-form--admin-event .btn-colorselector {
  left: 941.656px;
  width: 164.328px;
  height: 37.1875px;
  min-height: 37.1875px;
  padding: 8px 4.8px;
  font-size: 12.8px;
  font-weight: 400;
  line-height: 19.2px;
}

.event-form--admin-event .event-label-color {
  display: none;
}

.event-form--admin-event .listeservices,
.event-form--admin-event .btn-colorselector,
.event-form--admin-event .listecontribs,
.event-form--admin-event .listerooms,
.event-form--admin-event .listemembres {
  opacity: 1;
}

.event-form--admin-event .reserved-member-wrap {
  left: 745px;
  width: 180px;
  margin-left: 0;
}

.event-form--admin-event .listemembres {
  position: static;
  width: 180px;
  min-width: 180px;
  max-width: 180px;
  flex: 0 0 180px;
  min-height: 32px;
  height: 32px;
  padding: 6px 12px;
  border-radius: 4px;
  font-size: 12px;
  font-weight: 400;
  line-height: 18px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.event-form--admin-event .listerooms {
  left: 745px;
  top: 441px;
  width: 337px;
  height: 37.1875px;
  min-height: 37.1875px;
  margin-left: 0;
  padding: 8px 4.8px;
  font-weight: 400;
  line-height: 19.2px;
  text-transform: none;
}

.event-form--admin-event .listecontribs {
  top: 441px;
  height: 37.1875px;
  min-height: 37.1875px;
  padding: 8px 4.8px;
  font-weight: 400;
  line-height: 19.2px;
  text-transform: none;
}

.event-label-start,
.event-label-end,
.event-start-field,
.event-end-field {
  transform: translateY(8.1px);
}

.event-label-bookuntil,
.event-label-canceluntil,
.bookuntil-field,
.canceluntil-field {
  transform: translateY(4.1px);
}

.description-label,
.description-field {
  transform: translateY(12.1px);
}

.event-label-visio,
.visio-field {
  transform: translateY(12.5px);
}

.event-label-public,
.event-label-capacity,
.public-field,
.capacity-field {
  transform: translateY(28.5px);
}

.event-label-contributor,
.event-label-place,
.listecontribs,
.listerooms {
  transform: translateY(20.5px);
}

.event-label-participation,
.participation-field {
  transform: translateY(40.5px);
}

.event-form--personal .event-label-visio,
.event-form--personal .visio-field {
  transform: translateY(62.5px);
}

.event-form--personal .event-label-public,
.event-form--personal .event-label-capacity,
.event-form--personal .public-field,
.event-form--personal .capacity-field,
.event-form--personal .reserved-member-wrap {
  transform: translateY(78.5px);
}

.event-form--personal .event-label-contributor,
.event-form--personal .event-label-place,
.event-form--personal .listecontribs,
.event-form--personal .listerooms {
  transform: translateY(70.5px);
}

.event-form--personal .event-label-participation,
.event-form--personal .participation-field,
.event-form--personal .event-credit-legend {
  transform: translateY(89.5px);
}

.event-form--personal .event-credit-legend {
  transform: translateY(86.969px);
}

.event-form--paid-personal .event-label-visio,
.event-form--paid-personal .visio-field {
  transform: translateY(12.5px);
}

.event-form--paid-personal .event-label-public,
.event-form--paid-personal .event-label-capacity,
.event-form--paid-personal .public-field,
.event-form--paid-personal .capacity-field,
.event-form--paid-personal .reserved-member-wrap {
  transform: translateY(28.5px);
}

.event-form--paid-personal .event-label-contributor,
.event-form--paid-personal .event-label-place,
.event-form--paid-personal .listecontribs,
.event-form--paid-personal .listerooms {
  transform: translateY(20.5px);
}

.event-form--paid-personal .event-label-participation,
.event-form--paid-personal .participation-field {
  transform: translateY(40.5px);
}

.event-form--paid-personal .event-credit-paid-controls {
  transform: none;
}

.planning-event-content--paid-personal .modal-title,
.planning-event-content--paid-personal .modal-header {
  color: #bc5090;
}

.event-form--paid-personal .listeservices {
  min-height: 50.375px;
  height: 50.375px;
  display: inline-block;
  white-space: normal;
}

.event-form--paid-personal .btn-colorselector {
  transform: translateY(-10.406px);
}

.event-form--paid-personal .disabled {
  opacity: 0.65;
}

.planning-event-content--paid-personal .modal-footer .btn-outline-secondary {
  min-width: 96.21875px;
  margin-left: 0;
  border-radius: 4px;
  background: transparent;
}

.event-label-reserved {
  white-space: nowrap;
}

.reserved-member-wrap {
  grid-column: 4;
  display: inline-flex;
  align-items: center;
  justify-self: start;
  width: 180px;
  margin-left: -8px;
}

.reserved-search {
  margin-left: 4px;
  color: #535353;
  font-size: 16px;
  line-height: 27.2px;
}

.event-credit-legend {
  grid-column: 3;
  width: auto;
  margin-left: -186.344px;
  justify-self: start;
  color: #535353;
  font-size: 14px;
  line-height: 17px;
}

.event-form .event-credit-legend {
  margin-left: -186.344px;
}

.event-form:not(.event-form--personal) .event-credit-legend {
  transform: translateY(38.469px);
}

.event-form--admin-model .event-credit-legend {
  left: 563px;
  top: 365px;
  margin-left: 0;
  transform: none !important;
}

.event-credit-paid-controls {
  grid-column: 2;
  display: inline-flex;
  align-items: flex-start;
  justify-self: start;
  width: 390px;
  margin-left: 176.656px;
}

.event-credit-paid-controls .event-credit-legend {
  display: block;
  width: 135.25px;
  height: 31px;
  margin: 0;
  padding: 0 12px;
  font-size: 16px;
  line-height: 27.2px;
  transform: none;
}

.event-credit-amount {
  width: 66.15625px !important;
  height: 31px;
  margin-left: 12px !important;
}

.event-image-empty {
  display: grid;
  width: 80px;
  height: 80px;
  place-items: center;
  justify-self: end;
  align-self: start;
  border: 1px solid var(--line);
  color: #d5d5d5;
  font-size: 52px;
  line-height: 1;
  transform: translate(320px, 12px) scale(1.6875);
  transform-origin: top left;
}

.event-form--admin-event .event-image-empty {
  display: none;
}

.visio-field {
  grid-column: 2 / span 3;
  width: 604px !important;
  margin-left: 126px !important;
}

.source-strong {
}

.capacity-field {
  width: 68px !important;
  margin-left: -8px !important;
}

.public-field {
  width: 353px !important;
}

.participation-field {
  width: 164px !important;
}

.event-label-service,
.event-label-start,
.event-label-bookuntil,
.description-label,
.event-label-visio,
.event-label-public,
.event-label-contributor,
.event-label-participation {
  grid-column: 1;
}

.listeservices,
.event-start-field,
.bookuntil-field,
.description-field,
.visio-field,
.public-field,
.listecontribs,
.participation-field {
  grid-column: 2;
}

.event-label-color,
.event-label-end,
.event-label-canceluntil,
.event-label-capacity,
.event-label-place {
  grid-column: 3;
}

.btn-colorselector,
.event-end-field,
.canceluntil-field,
.capacity-field,
.listerooms,
.reserved-member-wrap {
  grid-column: 4;
}

.bookuntil-field,
.canceluntil-field {
  width: 258.5px !important;
  margin-left: auto !important;
}

.planning-room-search {
  display: flex;
  align-items: center;
  height: 40px;
  margin: 16px 4px;
}

.planning-room-search label {
  margin: 0 10px 0 0;
}

.planning-room-search input {
  width: 260px;
  min-height: 40px;
  height: 40px;
  margin: 0;
  padding: 4px 8px;
  border: 1px solid #ced4da;
  border-radius: 3.2px 0 0 3.2px;
  font-size: 14px;
  line-height: 21px;
}

.planning-room-search .razroom {
  border-radius: 0 4px 4px 0;
}

.planning-room-list {
  border-top: 0;
}

.planning-room-list .pick-row {
  min-height: 28px;
  padding: 3px 8px;
  border: 0;
  background: transparent;
  color: #212529;
  font-size: 14px;
  line-height: 21px;
  text-align: left;
}

.source-picker-search {
  display: flex;
  width: 100%;
  margin: 0 0 6px;
}

.source-picker-search input {
  height: 38px;
  min-height: 38px;
  border-radius: 3.2px 0 0 3.2px;
  font-size: 14px;
  line-height: 21px;
}

.source-picker-search .btn {
  height: 38px;
  min-width: 48px;
  border-radius: 0;
  font-size: 16px;
  line-height: 24px;
}

.source-picker-search .raz {
  min-width: 57px;
  border-color: #247879;
  border-radius: 0 4px 4px 0;
  color: #247879;
}

.source-picker-list {
  overflow: auto;
}

.source-picker-row {
  display: grid;
  grid-template-columns: 104px 1fr auto;
  width: 100%;
  min-height: 32px;
  align-items: center;
  border: 0;
  background: #f8f8f8;
  color: #212529;
  font-size: 16px;
  font-weight: 400;
  line-height: 24px;
  padding: 0;
  text-align: left;
}

.source-picker-row:nth-child(odd) {
  background: #f2f2f2;
}

.source-picker-plus {
  justify-self: center;
  display: inline-flex;
  width: 20px;
  height: 20px;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: 50%;
  background: #229743;
  color: #fff;
  font-size: 18px;
  font-weight: 700;
  line-height: 18px;
}

.source-picker-name {
  min-width: 0;
  overflow: hidden;
  padding: 4px 0;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.source-picker-member-row small {
  margin-left: 6px;
  color: #212529;
  font-size: 14px;
}

.source-picker-remove {
  justify-self: end;
  margin-right: 0;
  padding: 1.6px 3.2px;
  font-size: 12px;
  line-height: 18px;
}

.source-color-grid {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 15px 16px;
}

.source-color-choice {
  min-height: 70px;
  border: 0;
  border-radius: 0;
  color: #fff;
  font-size: 16px;
  font-weight: 700;
  line-height: 19px;
  padding: 6px 4px;
  text-align: left;
}

.pick-list {
  max-height: 430px;
  overflow: auto;
  border-top: 1px solid var(--line);
}

.pick-row {
  display: grid;
  grid-template-columns: 24px 1fr;
  width: 100%;
  min-height: 28px;
  align-items: center;
  border: 0;
  border-bottom: 1px solid #f0f0f0;
  background: #f7f7f7;
  color: #333;
  padding: 4px 8px;
  text-align: left;
  cursor: pointer;
}

.pick-row:nth-child(even) {
  background: #ededed;
}

.pick-row span {
  width: 14px;
  height: 14px;
  border-radius: 50%;
}

.pick-row small {
  color: var(--muted);
}

.color-palette {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 8px;
}

.color-choice {
  min-height: 34px;
  border: 1px solid #555;
  border-radius: 3px;
  color: #fff;
  font-weight: 700;
  cursor: pointer;
}

.password-form {
  display: grid;
  gap: 7px;
}

.password-form label {
  display: grid;
  grid-template-columns: 1fr 221px;
  align-items: start;
  gap: 12px;
  height: 31px;
  min-height: 31px;
  margin: 0;
  color: #535353;
  line-height: 27.2px;
}

.password-form label.error {
  display: block;
  margin: -4px 0 2px 50%;
  color: #dc3545;
  font-size: 13px;
}

.password-form input.error {
  border-color: #dc3545;
}

.password-form input {
  width: 221px;
  min-height: 31px;
  height: 31px;
  margin: 0;
  padding: 4px 8px;
  border-radius: 3.2px;
  font-size: 14px;
  line-height: 21px;
}

.modal-actions {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  margin-top: 16px;
}

.member-add-action-modal {
  min-width: min(520px, calc(100vw - 48px));
  color: var(--text);
}

.member-add-action-modal h4 {
  margin: 0 0 12px;
  color: var(--primary);
  font-size: 22px;
  font-weight: 700;
}

.member-add-action-modal p {
  margin: 0 0 12px;
}

.member-add-action-modal label {
  display: block;
  margin: 0 0 10px;
  color: var(--text);
  font-weight: 600;
}

.member-add-action-modal input,
.member-add-action-modal select,
.member-add-action-modal textarea {
  display: block;
  min-height: 34px;
  margin-top: 4px;
  border: 1px solid #ced4da;
  border-radius: 4px;
  color: var(--text);
  background: #fff;
  font: inherit;
}

.member-add-action-modal textarea {
  min-height: 92px;
  padding: 8px;
}

.member-add-action-modal .form-errors {
  margin-top: 10px;
}

.member-add-action-modal .modal-actions .btn-primary,
.member-add-action-modal .modal-actions .btn-secondary,
.confirm-action-modal .modal-actions .btn-primary,
.confirm-action-modal .modal-actions .btn-secondary {
  color: #fff;
}

.member-add-action-modal .modal-actions .btn-secondary,
.confirm-action-modal .modal-actions .btn-secondary {
  background: #6c757d;
  border-color: #6c757d;
}

@media (max-width: 767px) {
  .admin-login-card {
    width: min(400px, calc(100vw - 32px));
    min-height: 400px;
    padding: 24px 16px 40px;
  }

  .admin-logo-link {
    top: -45px;
    right: 25px;
    width: 90px;
    height: 90px;
  }

  .admin-logo-link img {
    width: 90px;
    height: 90px;
  }

  .admin-card-title {
    width: calc(100% - 96px);
    margin-bottom: 34px;
    font-size: 14px;
  }

  .admin-login-form {
    width: 100%;
  }

  .admin-input-line {
    width: 100%;
  }

  .admin-input-line input {
    width: calc(100% - 39px);
  }

  .admin-login-submit {
    width: calc(100% - 8px);
  }

  .admin-login-footer {
    width: 100%;
  }

  .admin-login-footer a {
    display: inline-block;
    width: min(100%, 360px);
  }

  .container {
    width: calc(100vw - 24px);
  }

  .modal-backdrop {
    padding-right: 8px;
    padding-left: 8px;
  }

  .add-participant-modal {
    width: calc(100vw - 16px);
    max-height: calc(100vh - 56px);
    padding: 13px 16px 7px;
  }

  .add-participant-modal h4 {
    margin: 0 34px 17px 0;
    font-size: 18px;
    line-height: 27px;
    font-weight: 400;
  }

  .member-reservations-modal,
  .member-transactions-modal,
  .member-adhesions-modal,
  .member-notes-modal {
    width: calc(100vw - 16px);
    max-height: calc(100dvh - 40px);
  }

  .add-participant-modal .btn-close {
    top: 11px;
    right: 11px;
    width: 32px;
    height: 32px;
    padding: 0;
    font-size: 28px;
    line-height: 30px;
  }

  .add-participant-modal .input-line {
    display: grid;
    grid-template-columns: 72px minmax(0, 1fr) 60px 70px;
    margin: 0 0 9px;
    align-items: stretch;
  }

  .add-participant-modal .input-line label {
    display: block;
    margin: 8px 0 0;
    color: #535353;
    font-size: 16px;
    line-height: 24px;
  }

  .add-participant-modal .input-line input {
    min-width: 0;
    height: 52px;
    padding: 6px 10px;
    border-radius: 4px 0 0 4px;
    font-size: 16px;
    line-height: 24px;
  }

  .add-participant-modal .input-line .btn {
    height: 52px;
    min-height: 52px;
    padding: 6px 10px;
    border-radius: 0;
    justify-content: center;
    font-size: 12px;
    font-weight: 700;
    line-height: 18px;
  }

  .add-participant-modal .input-line .btn-outline-secondary {
    border-radius: 0 4px 4px 0;
  }

  .add-participant-modal .member-attachment-list {
    max-height: none;
    border-top: 0;
  }

  .add-participant-modal .member-attachment-row {
    grid-template-columns: 24px 84px 74px 54px 90px;
    gap: 4px;
    min-height: 29px;
    padding: 1px 0;
    font-size: 16px;
    line-height: 22px;
  }

  .add-participant-modal .member-attach-plus {
    width: 20px;
    height: 20px;
    font-size: 15px;
    line-height: 20px;
  }

  .add-participant-modal .modal-actions {
    flex: 0 0 auto;
    margin-top: 12px;
    text-align: right;
  }

  .add-participant-modal .modal-actions .btn-danger {
    min-width: 96px;
    min-height: 44px;
    padding: 12px 18px;
    text-transform: uppercase;
    font-size: 12px;
    font-weight: 700;
    line-height: 18px;
  }

  .history-modal,
  .password-modal {
    width: calc(100vw - 16px);
  }

  .history-modal .modal-header,
  .password-modal .modal-header {
    min-height: 47.38px;
  }

  .history-modal .modal-title,
  .password-modal .modal-title {
    font-size: 16px;
    line-height: 24px;
  }

  .password-modal .modal-body {
    height: 156px;
    min-height: 156px;
  }

  .password-form {
    gap: 31px;
  }

  .password-form label {
    grid-template-columns: 1fr 158px;
  }

  .password-form input {
    width: 158px;
  }

  .login-card {
    width: min(400px, calc(100vw - 24px));
    padding-left: 17px;
    padding-right: 17px;
  }

  .login-card h6 {
    margin-left: 0;
  }

  .login-links .contact-link {
    display: inline-flex;
    width: 112px;
    align-items: flex-start;
    justify-content: flex-end;
    gap: 2px;
    text-align: right;
    line-height: 1.45;
  }

  .mobile-only-break {
    display: block;
  }

  .login-links {
    margin-top: 40px;
  }

  .logo-badge {
    right: 25px;
  }

  .topbar {
    min-height: 64px;
    align-items: flex-start;
    flex-wrap: wrap;
    padding-top: 0;
  }

  .navbar-brand {
    width: auto;
    flex: 0 0 auto;
    height: 56px;
  }

  .navbar-brand img {
    width: 56px;
    height: 56px;
  }

  .navbar-toggler {
    display: block;
    margin-top: 14px;
    border-color: transparent;
    background: transparent;
  }

  .navbar-collapse {
    display: none;
    width: 100%;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    padding: 8px 0 16px;
  }

  .navbar-collapse.show {
    display: flex;
  }

  .nav-link {
    min-height: 44px;
    justify-content: flex-start;
  }

  .front {
    padding-top: 30px;
  }

  body:has(.moncompte) .topbar {
    width: 100%;
    min-height: 64px;
    margin: 0;
    padding: 0 12px;
  }

  body:has(.moncompte) .navbar-brand {
    width: 50%;
    flex: 0 0 50%;
    height: 48px;
    margin-right: 16px;
    padding: 5px 0;
  }

  body:has(.moncompte) .navbar-brand img {
    width: 38px;
    height: 38px;
  }

  body:has(.moncompte) .navbar-toggler {
    width: 54px;
    height: 30px;
    margin-top: 17px;
    border: 0;
    padding: 0 12px;
    background: transparent;
  }

  body:has(.moncompte) .moncompte {
    width: 100%;
    min-height: auto;
    margin: 0;
    padding: 30px 12px 35px;
    color: #535353;
  }

  body:has(.moncompte) .hello {
    margin: 0 0 28px;
    font-size: 16px;
    line-height: 24px;
  }

  body:has(.moncompte) .account-block {
    margin-bottom: 60px;
  }

  body:has(.moncompte) .account-block h5 {
    height: 30px;
    margin: 0 0 8px;
    border-bottom: 0;
    padding: 0 0 5px;
    color: var(--dark-accent);
    font-size: 16px;
    font-weight: 700;
    line-height: 24px;
  }

  body:has(.moncompte) .table td {
    padding: 8px;
    font-size: 14px;
    line-height: 21px;
    text-align: center;
  }

  body:has(.moncompte) .account-block:first-of-type .table td {
    background: #f2f2f2;
  }

  body:has(.moncompte) .extrait,
  body:has(.moncompte) .inline-setting {
    font-size: 16px;
    line-height: 27.2px;
  }

  body:has(.moncompte) .wide,
  body:has(.moncompte) .modify_pwd {
    min-height: 38px;
    border-color: var(--dark-accent);
    background: #fff;
    color: var(--dark-accent);
    font-size: 16px;
    line-height: 24px;
  }

  body:has(.moncompte) .inline-setting {
    display: block;
  }

  body:has(.moncompte) .inline-setting label {
    display: inline-flex;
    align-items: baseline;
    margin: 0 0 0 4px;
  }

  body:has(.moncompte) .inline-setting input {
    margin: 0 4px 0 0;
  }

  body:has(.moncompte) .account-block:nth-of-type(3) {
    margin-bottom: 47px;
  }

  body:has(.moncompte) .account-block:last-child {
    margin-bottom: 17px;
  }

  body:has(.moncompte) .footer {
    flex-direction: column;
    align-items: stretch;
    height: 64px;
    min-height: 64px;
    padding: 0 0 10px;
    background: #fff;
    color: #6c757d;
    font-size: 16px;
    line-height: 27.2px;
    text-align: center;
  }

  body:has(.moncompte) .footer a {
    color: #6c757d;
    font-size: 10.8px;
    line-height: 12px;
    letter-spacing: 2px;
  }

  .right-action {
    justify-content: stretch;
  }

  .right-action .btn {
    width: 100%;
  }

  .filters {
    grid-template-columns: 1fr;
    gap: 8px;
    margin-left: 0;
  }

  .booking-toolbar {
    padding-top: 10px;
  }

  .filters select[name="nb"],
  .filters .btn--color {
    display: none;
  }

  .admin-booking-filters select[name="nb"],
  .admin-booking-filters .btn--color {
    display: block;
  }

  .filters select {
    width: 100%;
    min-height: 31px;
    height: 31px;
  }

  .admin-member-activities-filters {
    width: 100%;
    margin-top: 16px;
    margin-left: 0;
    margin-bottom: 18px;
  }

  .admin-member-activities-filters .admin-booking-filter-line {
    flex-direction: column;
    align-items: stretch;
  }

  .admin-member-activities-filters .bootstrap-select,
  .admin-member-activities-filters .btn.dropdown-toggle,
  .admin-member-activities-filters .form-control-sm,
  .admin-member-activities-filters .nbselect,
  .admin-member-activities-filters .admin-booking-export {
    width: 100%;
  }

  .admin-member-activities-page .admin-booking-table-wrap {
    width: 100%;
    overflow-x: visible;
  }

  .admin-member-activities-page .admin-member-activities-table {
    width: 100%;
    min-width: 0;
    table-layout: fixed;
    font-size: 8px;
    line-height: 1.2;
  }

  .admin-member-activities-page .admin-member-activities-table th,
  .admin-member-activities-page .admin-member-activities-table td {
    padding: 4px 2px;
    white-space: normal;
    overflow-wrap: anywhere;
  }

  .admin-member-activities-page .admin-member-activities-table th:nth-child(1),
  .admin-member-activities-page .admin-member-activities-table td:nth-child(1) {
    width: 6%;
  }

  .admin-member-activities-page .admin-member-activities-table th:nth-child(2),
  .admin-member-activities-page .admin-member-activities-table td:nth-child(2) {
    width: 20%;
  }

  .admin-member-activities-page .admin-member-activities-table th:nth-child(3),
  .admin-member-activities-page .admin-member-activities-table td:nth-child(3) {
    width: 11%;
  }

  .admin-member-activities-page .admin-member-activities-table th:nth-child(4),
  .admin-member-activities-page .admin-member-activities-table td:nth-child(4) {
    width: 13%;
  }

  .admin-member-activities-page .admin-member-activities-table th:nth-child(5),
  .admin-member-activities-page .admin-member-activities-table td:nth-child(5) {
    width: 19%;
  }

  .admin-member-activities-page .admin-member-activities-table th:nth-child(6),
  .admin-member-activities-page .admin-member-activities-table td:nth-child(6) {
    width: 18%;
  }

  .admin-member-activities-page .admin-member-activities-table th:nth-child(7),
  .admin-member-activities-page .admin-member-activities-table td:nth-child(7) {
    width: 13%;
  }

  body:has(.admin-topbar) .admin-booking-page:not(.admin-member-activities-page) {
    padding-right: 12px;
    padding-left: 12px;
  }

  body:has(.admin-topbar) .admin-booking-page:not(.admin-member-activities-page) .admin-booking-source-filters {
    position: relative;
    width: 366px;
    height: 163.59px;
    margin-top: -60px;
    margin-left: 0;
    margin-bottom: 24px;
    gap: 0;
  }

  body:has(.admin-topbar) .admin-booking-page:not(.admin-member-activities-page) .admin-booking-filter-line {
    width: 1041px;
    padding-left: 137.7px;
  }

  body:has(.admin-topbar) .admin-booking-page:not(.admin-member-activities-page) .admin-booking-filter-line--secondary {
    position: absolute;
    top: 39.59px;
    left: 0;
    justify-content: flex-start;
    padding-left: 0;
  }

  body:has(.admin-topbar) .admin-booking-page:not(.admin-member-activities-page) .admin-booking-table {
    width: 731.48px;
    min-width: 731.48px;
    font-size: 14.4px;
    line-height: 21.6px;
  }

  body:has(.admin-topbar) .admin-booking-page:not(.admin-member-activities-page) .admin-booking-table th:nth-child(1),
  body:has(.admin-topbar) .admin-booking-page:not(.admin-member-activities-page) .admin-booking-table td:nth-child(1) {
    width: 43px;
  }

  body:has(.admin-topbar) .admin-booking-page:not(.admin-member-activities-page) .admin-booking-table th:nth-child(2),
  body:has(.admin-topbar) .admin-booking-page:not(.admin-member-activities-page) .admin-booking-table td:nth-child(2) {
    width: 120px;
  }

  body:has(.admin-topbar) .admin-booking-page:not(.admin-member-activities-page) .admin-booking-table th:nth-child(3),
  body:has(.admin-topbar) .admin-booking-page:not(.admin-member-activities-page) .admin-booking-table td:nth-child(3) {
    width: 105px;
  }

  body:has(.admin-topbar) .admin-booking-page:not(.admin-member-activities-page) .admin-booking-table th:nth-child(4),
  body:has(.admin-topbar) .admin-booking-page:not(.admin-member-activities-page) .admin-booking-table td:nth-child(4) {
    width: 102px;
  }

  body:has(.admin-topbar) .admin-booking-page:not(.admin-member-activities-page) .admin-booking-table th:nth-child(5),
  body:has(.admin-topbar) .admin-booking-page:not(.admin-member-activities-page) .admin-booking-table td:nth-child(5) {
    width: 56px;
  }

  body:has(.admin-topbar) .admin-booking-page:not(.admin-member-activities-page) .admin-booking-table th:nth-child(6),
  body:has(.admin-topbar) .admin-booking-page:not(.admin-member-activities-page) .admin-booking-table td:nth-child(6) {
    width: 56px;
  }

  body:has(.admin-topbar) .admin-booking-page:not(.admin-member-activities-page) .admin-booking-table th:nth-child(7),
  body:has(.admin-topbar) .admin-booking-page:not(.admin-member-activities-page) .admin-booking-table td:nth-child(7) {
    width: 164px;
  }

  body:has(.admin-topbar) .admin-booking-page:not(.admin-member-activities-page) .admin-booking-table th:nth-child(8),
  body:has(.admin-topbar) .admin-booking-page:not(.admin-member-activities-page) .admin-booking-table td:nth-child(8) {
    width: 85px;
  }

  body:has(.admin-topbar) .admin-booking-page:not(.admin-member-activities-page) .admin-booking-table th,
  body:has(.admin-topbar) .admin-booking-page:not(.admin-member-activities-page) .admin-booking-table td {
    padding: 10.8px 4px;
  }

  body:has(.admin-topbar) .admin-booking-page:not(.admin-member-activities-page) .admin-booking-table th {
    height: 84px;
    padding-top: 31.2px;
    padding-bottom: 31.2px;
  }

  body:has(.admin-topbar) .admin-booking-page:not(.admin-member-activities-page) .admin-booking-table tbody tr:first-child td {
    padding-top: 10.8px;
    padding-bottom: 10.8px;
  }

  body:has(.admin-topbar) .admin-booking-page:not(.admin-member-activities-page) .admin-booking-table tbody tr:nth-child(1) { height: 126.5px; }
  body:has(.admin-topbar) .admin-booking-page:not(.admin-member-activities-page) .admin-booking-table tbody tr:nth-child(2) { height: 108.88px; }
  body:has(.admin-topbar) .admin-booking-page:not(.admin-member-activities-page) .admin-booking-table tbody tr:nth-child(3) { height: 122px; }
  body:has(.admin-topbar) .admin-booking-page:not(.admin-member-activities-page) .admin-booking-table tbody tr:nth-child(4) { height: 101px; }
  body:has(.admin-topbar) .admin-booking-page:not(.admin-member-activities-page) .admin-booking-table tbody tr:nth-child(5) { height: 108.88px; }
  body:has(.admin-topbar) .admin-booking-page:not(.admin-member-activities-page) .admin-booking-table tbody tr:nth-child(6) { height: 494.75px; }
  body:has(.admin-topbar) .admin-booking-page:not(.admin-member-activities-page) .admin-booking-table tbody tr:nth-child(7) { height: 122px; }
  body:has(.admin-topbar) .admin-booking-page:not(.admin-member-activities-page) .admin-booking-table tbody tr:nth-child(8) { height: 122px; }
  body:has(.admin-topbar) .admin-booking-page:not(.admin-member-activities-page) .admin-booking-table tbody tr:nth-child(9) { height: 143px; }
  body:has(.admin-topbar) .admin-booking-page:not(.admin-member-activities-page) .admin-booking-table tbody tr:nth-child(10) { height: 143px; }
  body:has(.admin-topbar) .admin-booking-page:not(.admin-member-activities-page) .admin-booking-table tbody tr:nth-child(11) { height: 143px; }
  body:has(.admin-topbar) .admin-booking-page:not(.admin-member-activities-page) .admin-booking-table tbody tr:nth-child(12) { height: 122px; }
  body:has(.admin-topbar) .admin-booking-page:not(.admin-member-activities-page) .admin-booking-table tbody tr:nth-child(13) { height: 101px; }
  body:has(.admin-topbar) .admin-booking-page:not(.admin-member-activities-page) .admin-booking-table tbody tr:nth-child(14) { height: 101px; }
  body:has(.admin-topbar) .admin-booking-page:not(.admin-member-activities-page) .admin-booking-table tbody tr:nth-child(15) { height: 108.88px; }
  body:has(.admin-topbar) .admin-booking-page:not(.admin-member-activities-page) .admin-booking-table tbody tr:nth-child(16) { height: 122px; }
  body:has(.admin-topbar) .admin-booking-page:not(.admin-member-activities-page) .admin-booking-table tbody tr:nth-child(17) { height: 122px; }
  body:has(.admin-topbar) .admin-booking-page:not(.admin-member-activities-page) .admin-booking-table tbody tr:nth-child(18) { height: 101px; }
  body:has(.admin-topbar) .admin-booking-page:not(.admin-member-activities-page) .admin-booking-table tbody tr:nth-child(19) { height: 101px; }
  body:has(.admin-topbar) .admin-booking-page:not(.admin-member-activities-page) .admin-booking-table tbody tr:nth-child(20) { height: 549.88px; }
  body:has(.admin-topbar) .admin-booking-page:not(.admin-member-activities-page) .admin-booking-table tbody tr:nth-child(21) { height: 122px; }
  body:has(.admin-topbar) .admin-booking-page:not(.admin-member-activities-page) .admin-booking-table tbody tr:nth-child(22) { height: 366.13px; }
  body:has(.admin-topbar) .admin-booking-page:not(.admin-member-activities-page) .admin-booking-table tbody tr:nth-child(23) { height: 122px; }
  body:has(.admin-topbar) .admin-booking-page:not(.admin-member-activities-page) .admin-booking-table tbody tr:nth-child(24) { height: 122px; }
  body:has(.admin-topbar) .admin-booking-page:not(.admin-member-activities-page) .admin-booking-table tbody tr:nth-child(25) { height: 101px; }
  body:has(.admin-topbar) .admin-booking-page:not(.admin-member-activities-page) .admin-booking-table tbody tr:nth-child(26) { height: 101px; }
  body:has(.admin-topbar) .admin-booking-page:not(.admin-member-activities-page) .admin-booking-table tbody tr:nth-child(27) { height: 122px; }
  body:has(.admin-topbar) .admin-booking-page:not(.admin-member-activities-page) .admin-booking-table tbody tr:nth-child(28) { height: 164px; }
  body:has(.admin-topbar) .admin-booking-page:not(.admin-member-activities-page) .admin-booking-table tbody tr:nth-child(29) { height: 101px; }
  body:has(.admin-topbar) .admin-booking-page:not(.admin-member-activities-page) .admin-booking-table tbody tr:nth-child(30) { height: 101px; }
  body:has(.admin-topbar) .admin-booking-page:not(.admin-member-activities-page) .admin-booking-table tbody tr:nth-child(31) { height: 101px; }

  .booking-list {
    padding-top: 20px;
    padding-bottom: 40px;
  }

  .list-head,
  .booking-row {
    grid-template-columns: 1fr;
  }

  .list-head {
    display: block;
    width: 100vw;
    min-height: 27px;
    padding: 0;
    transform: translateX(-12px);
    text-align: center;
  }

  body:has(.booking-list):not(:has(.admin-topbar)) .list-head strong:first-child {
    font-size: 0;
  }

  body:has(.booking-list):not(:has(.admin-topbar)) .list-head strong:first-child::after {
    content: "Évènements";
    font-size: 16px;
    line-height: 27px;
  }

  body:has(.booking-list):not(:has(.admin-topbar)) .navbar-brand img {
    width: 38px;
    height: 38px;
    transform: translateY(17px);
  }

  .list-head strong:last-child {
    display: none;
  }

  .booking-row {
    width: 100vw;
    margin: 24px 0;
    padding-right: 22px;
    padding-left: 22px;
    transform: translateX(-12px);
  }

  body:has(.booking-list):not(:has(.admin-topbar)) .booking-row p:first-of-type {
    border-bottom: 1px solid #d3d3d3;
  }

  body:has(.booking-list):not(:has(.admin-topbar)) .booking-event-icon {
    margin-right: 23px;
    background:
      linear-gradient(35deg, transparent 44%, #d7d7d7 44%, #d7d7d7 58%, transparent 58%);
    opacity: 0.72;
  }

  .planning-shell {
    grid-template-columns: 1fr;
  }

  .model-list {
    display: grid;
    grid-template-columns: 1fr;
  }

  .calendar-toolbar {
    grid-template-columns: 1fr;
    gap: 8px;
  }

  .calendar-toolbar h2 {
    font-size: 22px;
  }

  .week-grid {
    min-width: 920px;
  }

  .calendar {
    overflow-x: auto;
  }

  body:has(.planning-shell) .topbar {
    width: 100vw;
    margin: 0;
    padding: 8px 12px;
  }

  body:has(.planning-shell) .navbar-brand {
    height: 38px;
    padding: 0;
  }

  body:has(.planning-shell) .navbar-brand img {
    width: 38px;
    height: 38px;
    margin-top: 10px;
  }

  body:has(.planning-shell) .navbar-toggler {
    width: 54px;
    height: 30px;
    margin-top: 9px;
  }

  body:has(.planning-shell) .planning-shell {
    display: flex;
    width: 100vw;
    margin: 0;
    padding-top: 18px;
    padding-bottom: 50px;
    gap: 0;
    align-items: flex-start;
  }

  body:has(.planning-shell) .model-list {
    display: block;
    flex: 0 0 76.98px;
    width: 76.98px;
  }

  body:has(.planning-shell) #external-events {
    width: 64.98px;
    height: 274.5px;
    min-height: 0;
    margin-left: 10px;
    padding: 5px;
    border-color: #ccc;
    overflow-x: hidden;
    overflow-y: scroll;
  }

  body:has(.planning-shell) #external-events .fc-event {
    width: 52.98px;
    height: 29.78px;
    min-height: 29.78px;
    margin: 5.76px 0;
    padding: 5.76px 0;
    border: 0;
    line-height: 17.28px;
    white-space: nowrap;
    overflow: visible;
  }

  body:has(.planning-shell) #external-events .editmodel {
    display: block;
    white-space: nowrap;
  }

  body:has(.planning-shell) .calendar {
    display: flex;
    flex-direction: column;
    flex: 0 0 288.95px;
    width: 288.95px;
    height: 400px;
    margin-left: 4px;
    overflow: visible;
  }

  body:has(.planning-shell) .calendar-toolbar {
    display: flex;
    flex-wrap: nowrap;
    align-items: flex-start;
    width: 288.95px;
    height: 31px;
    margin-bottom: 8px;
    gap: 0;
  }

  body:has(.planning-shell) .calendar-toolbar .fc-toolbar-chunk {
    flex: 0 0 auto;
  }

  body:has(.planning-shell) .calendar-toolbar .fc-toolbar-chunk:nth-child(1) {
    order: 1;
    width: 52px;
  }

  body:has(.planning-shell) .calendar-toolbar .fc-toolbar-chunk:nth-child(2) {
    order: 2;
    width: 106.55px;
    height: 31px;
    justify-content: center;
    transform: translateX(-16px);
  }

  body:has(.planning-shell) .calendar-toolbar .fc-toolbar-chunk:nth-child(3) {
    order: 3;
    margin-left: -20px;
  }

  body:has(.planning-shell) .calendar-toolbar h2 {
    font-size: 16px;
    line-height: 24px;
    height: 31px;
    padding-top: 3px;
  }

  body:has(.planning-shell) .calendar-toolbar .btn {
    min-height: 31px;
    padding: 8px;
    font-size: 10px;
    line-height: 15px;
  }

  body:has(.planning-shell) .fc-prev-button,
  body:has(.planning-shell) .fc-next-button {
    width: 26px;
    padding-right: 0;
    padding-left: 0;
  }

  body:has(.planning-shell) .calendar .fc-view-harness {
    width: 288.95px;
    height: 332px;
    overflow: hidden;
  }

  body:has(.planning-shell) .fc-listMonth-view,
  body:has(.planning-shell) .fc-dayGridMonth-view {
    min-height: 0;
    height: 332px;
    overflow: hidden;
  }

  body:has(.planning-shell) .fc-daygrid-body,
  body:has(.planning-shell) .month-grid {
    height: 302.52px;
    overflow: hidden;
  }

  body:has(.planning-shell) .month-grid {
    grid-template-rows: repeat(6, 50.42px);
  }

  body:has(.admin-planning-shell) .calendar .fc-view-harness {
    height: 359px;
    overflow: visible;
  }

  body:has(.admin-planning-shell) .fc-dayGridMonth-view {
    height: 359px;
    overflow: visible;
  }

  body:has(.admin-planning-shell) .fc-daygrid-body,
  body:has(.admin-planning-shell) .month-grid {
    height: 674.94px;
    overflow: visible;
  }

  body:has(.admin-planning-shell) .month-grid {
    grid-template-rows: repeat(6, 110.16px);
  }

  body:has(.admin-planning-shell) .fc-daygrid-event {
    height: 84.76px;
    min-height: 0;
    border: 2px solid #fff;
    border-color: #fff !important;
    border-radius: 0;
    color: #fff;
    font-size: 8px;
    line-height: 9.6px;
    white-space: normal;
  }

  body:has(.planning-shell) .fc-list-table {
    width: 286.95px;
    margin: 0;
  }

  body:has(.planning-shell) .fc-list-event td {
    font-size: 8px;
    line-height: 8.8px;
    padding: 8px 14px;
  }

  body:has(.planning-shell) .fc-list-event-time {
    width: 88px;
  }

  body:has(.admin-planning-shell) .planning-shell.admin-planning-shell {
    width: 100%;
    max-width: 100%;
  }

  body:has(.planning-shell) .week-grid {
    width: 288.95px;
    min-width: 0;
    height: 332px;
    overflow: visible;
  }

  body:has(.planning-shell) .time-head,
  body:has(.planning-shell) .day-head {
    min-height: 84px;
    font-size: 8px;
    line-height: 10px;
  }

  body:has(.planning-shell) .time-col span {
    font-size: 8px;
    line-height: 10px;
    padding: 2px;
  }

  body:has(.planning-shell) .time-col {
    grid-template-rows: repeat(14, 25.8px);
  }

  body:has(.planning-shell) .week-canvas {
    min-height: 361px;
    height: 361px;
    background-size: 100% 100%, 100% 25.8px, 14.28% 100%;
  }

  body:has(.planning-shell) .calendar-event {
    width: calc(14.28% - 4px);
    font-size: 8px;
    line-height: 8.8px;
    transform: translateY(24px);
    overflow: visible;
  }

  .member-title,
  .member-search,
  .footer {
    flex-direction: column;
    align-items: stretch;
  }

  .member-title h3 {
    font-size: 22px;
  }

  .member-search input {
    width: 100%;
  }

  .member-size {
    justify-content: stretch;
  }

  .member-size select {
    width: 100%;
  }

  body:has(.members) .topbar {
    width: 100%;
    margin: 0;
    padding: 0 12px;
  }

  body:has(.members) .navbar-brand {
    width: 50%;
    flex: 0 0 50%;
    height: 48px;
    margin-right: 16px;
    padding: 5px 0;
  }

  body:has(.members) .navbar-brand img {
    width: 38px;
    height: 38px;
  }

  body:has(.members) .navbar-toggler {
    width: 54px;
    height: 30px;
    margin-top: 17px;
    border: 0;
    padding: 0 12px;
  }

  body:has(.members) .members {
    width: 100%;
    margin: 0;
    padding: 48px 12px 35px;
  }

  body:has(.members) .member-title {
    flex-direction: row;
    align-items: flex-start;
    gap: 0;
    height: 95.52px;
    margin-bottom: 8px;
  }

  body:has(.members) .member-title h3 {
    width: 175.42px;
    height: 91.52px;
    font-size: 22px;
    line-height: 30px;
  }

  body:has(.members) .member-search {
    flex-direction: row;
    align-items: stretch;
    width: 190.58px;
    height: 95.52px;
  }

  body:has(.admin-topbar):has(.members) .member-search {
    width: 100%;
    height: 32px;
  }

  body:has(.admin-topbar):has(.admin-members-page) .member-title {
    display: grid;
    grid-template-columns: 1fr;
    height: auto;
    gap: 8px;
  }

  body:has(.admin-topbar):has(.admin-members-page) .member-title h3 {
    width: 100%;
    height: auto;
    margin-bottom: 0;
  }

  body:has(.members) .member-search label {
    flex: 0 0 auto;
    margin-right: 8px;
    line-height: 95.52px;
  }

  body:has(.members) .member-search input {
    flex: 1 1 auto;
    width: auto;
    min-width: 0;
    height: 95.52px;
  }

  body:has(.members) .member-search .btn {
    height: 95.52px;
    min-height: 0;
  }

  body:has(.admin-topbar):has(.members) .member-search .btn {
    width: 42px;
    height: 32px;
    padding-right: 4px;
    padding-left: 4px;
    font-size: 11px;
  }

  body:has(.admin-topbar):has(.members) .member-search .btn-outline-secondary {
    width: 48px;
  }

  body:has(.admin-topbar):has(.admin-members-page) .member-search label {
    position: absolute;
    left: 0;
    top: 0;
    line-height: 32px;
  }

  body:has(.admin-topbar):has(.admin-members-page) .member-search input {
    height: 32px;
  }

  body:has(.members) .member-size {
    justify-content: flex-end;
  }

  body:has(.members) .member-size select {
    width: 138px;
  }

  body:has(.members) .table-responsive {
    width: 366px;
  }

  body:has(.members) .table {
    width: 763.78px;
    table-layout: fixed;
  }

  body:has(.members) .table th {
    font-size: 14px;
    line-height: 23.8px;
    padding-top: 10px;
    padding-bottom: 10px;
  }

  body:has(.members) .table th:nth-child(1),
  body:has(.members) .table td:nth-child(1) { width: 56.61px; }
  body:has(.members) .table th:nth-child(2),
  body:has(.members) .table td:nth-child(2) { width: 119.61px; }
  body:has(.members) .table td:nth-child(2) small {
    font-size: 14px;
    line-height: 23.8px;
  }
  body:has(.members) .table th:nth-child(3),
  body:has(.members) .table td:nth-child(3) { width: 93.06px; }
  body:has(.members) .table th:nth-child(4),
  body:has(.members) .table td:nth-child(4) { width: 93.06px; }
  body:has(.members) .table th:nth-child(5),
  body:has(.members) .table td:nth-child(5) { width: 93.06px; }
  body:has(.members) .table th:nth-child(6),
  body:has(.members) .table td:nth-child(6) { width: 93.22px; }
  body:has(.members) .table th:nth-child(7),
  body:has(.members) .table td:nth-child(7) { width: 93.13px; }
  body:has(.members) .table th:nth-child(8),
  body:has(.members) .table td:nth-child(8) { width: 66.44px; }
  body:has(.members) .table th:nth-child(9),
  body:has(.members) .table td:nth-child(9) { width: 55.59px; }

  body:has(.admin-topbar):has(.admin-members-page) .members {
    width: 100%;
    padding-top: 48px;
  }

  body:has(.admin-topbar):has(.admin-members-page) .admin-members-form {
    grid-template-columns: 1fr;
    width: 366px;
    min-height: 170px;
    gap: 0;
  }

  body:has(.admin-topbar):has(.admin-members-page) .admin-members-form h3 {
    width: 217px;
    height: 85px;
    margin-bottom: 0;
    font-size: 19.2px;
    line-height: 30px;
    white-space: normal;
  }

  body:has(.admin-topbar):has(.admin-members-page) .admin-members-form .member-search {
    position: absolute;
    left: 217px;
    top: 0;
    width: 161px;
    height: 96px;
    display: block;
    overflow: visible;
  }

  body:has(.admin-topbar):has(.admin-members-page) .admin-members-form .member-search input {
    position: absolute;
    left: 0;
    top: 0;
    width: 101px;
    height: 45px;
    padding: 4px 6px;
    border-radius: 3.2px 0 0 3.2px;
  }

  body:has(.admin-topbar):has(.admin-members-page) .admin-members-form .member-search .btn {
    position: absolute;
    left: 101px;
    width: 48px;
    height: 45px;
    font-size: 16px;
  }

  body:has(.admin-topbar):has(.admin-members-page) .admin-members-form .member-search .btn-dark {
    top: 0;
  }

  body:has(.admin-topbar):has(.admin-members-page) .admin-members-form .member-search .btn-outline-secondary {
    top: 45px;
    left: 68px;
    width: 57px;
  }

  body:has(.admin-topbar):has(.admin-members-page) .admin-members-form .admin-add-member-btn {
    left: 0;
    top: 89px;
    overflow: hidden;
    text-overflow: clip;
    white-space: nowrap;
  }

  body:has(.admin-topbar):has(.admin-members-page) .admin-member-filter-strip {
    top: 98px;
    justify-content: flex-start;
    width: 366px;
    max-width: calc(100vw - 24px);
    overflow-x: visible;
    overflow-y: visible;
    margin-top: 0;
    padding-left: 72px;
    padding-right: 0;
    gap: 4px;
    scrollbar-width: none;
  }

  body:has(.admin-topbar):has(.admin-members-page) .admin-members-form .admin-activities-btn {
    overflow: hidden;
    text-overflow: clip;
    white-space: nowrap;
  }

  body:has(.admin-topbar):has(.admin-members-page) .admin-member-filter > select {
    position: absolute;
    width: 1px;
    min-width: 1px;
    max-width: 1px;
    height: 1px;
    min-height: 1px;
    max-height: 1px;
    overflow: hidden;
    opacity: 0;
    pointer-events: none;
  }

  body:has(.admin-topbar):has(.admin-members-page) .admin-member-filter-strip::-webkit-scrollbar {
    display: none;
  }

  body:has(.admin-topbar):has(.admin-members-page) .admin-member-filter[data-filter-name="nature"] > .dropdown-menu,
  body:has(.admin-topbar):has(.admin-members-page) .admin-member-filter[data-filter-name="origine"] > .dropdown-menu,
  body:has(.admin-topbar):has(.admin-members-page) .admin-member-filter[data-filter-name="search_members"] > .dropdown-menu {
    right: 0;
    left: auto;
  }

  body:has(.admin-topbar):has(.admin-members-page) .admin-members-form .member-size {
    position: absolute;
    justify-self: start;
    right: auto;
    top: 120px;
    left: 192px;
    margin: 0;
  }

  body:has(.admin-topbar):has(.admin-members-page) .admin-members-form .member-size select {
    width: 174px;
    max-width: calc(100vw - 216px);
  }

  body:has(.admin-topbar):has(.admin-members-page) .admin-member-filter-btn {
    width: 58px;
    height: 28px;
    padding: 3px 13px 3px 4px;
    font-size: 6px;
    line-height: 12px;
  }

  body:has(.admin-topbar):has(.admin-members-page) .admin-member-filter-btn::after {
    right: 4px;
    border-top-width: 3px;
    border-left-width: 3px;
    border-right-width: 3px;
  }

  body:has(.admin-topbar):has(.admin-members-page) .admin-member-filter-btn--nature {
    width: 76px;
  }

  body:has(.admin-topbar):has(.admin-members-page) .admin-member-filter-btn--origin {
    width: 92px;
  }

  body:has(.admin-topbar):has(.admin-members-page) .admin-member-filter-btn--profiles {
    width: 64px;
  }

  body:has(.admin-topbar):has(.admin-members-page) .admin-member-result-count {
    left: 72px;
    top: -20px;
    width: 80px;
    font-size: 7px;
    line-height: 14px;
    text-align: left;
  }

  body:has(.admin-topbar):has(.admin-members-page) .table-responsive {
    width: 366px;
    max-width: calc(100vw - 24px);
    overflow-x: auto;
    margin-top: 25px;
  }

  body:has(.admin-topbar):has(.admin-members-page) .admin-members-source-table {
    width: 366px;
    table-layout: fixed;
  }

  body:has(.admin-topbar):has(.admin-members-page) .admin-members-source-table th {
    box-sizing: border-box;
    height: 63px;
    padding-right: 2px;
    padding-left: 2px;
    padding-top: 6px;
    padding-bottom: 6px;
    font-size: 7px;
    line-height: 9px;
  }

  body:has(.admin-topbar):has(.admin-members-page) .admin-members-source-table th:nth-child(1),
  body:has(.admin-topbar):has(.admin-members-page) .admin-members-source-table td:nth-child(1) { width: 21px; }
  body:has(.admin-topbar):has(.admin-members-page) .admin-members-source-table th:nth-child(2),
  body:has(.admin-topbar):has(.admin-members-page) .admin-members-source-table td:nth-child(2) { width: 83px; text-align: left; }
  body:has(.admin-topbar):has(.admin-members-page) .admin-members-source-table th:nth-child(3),
  body:has(.admin-topbar):has(.admin-members-page) .admin-members-source-table td:nth-child(3) { width: 53px; }
  body:has(.admin-topbar):has(.admin-members-page) .admin-members-source-table th:nth-child(4),
  body:has(.admin-topbar):has(.admin-members-page) .admin-members-source-table td:nth-child(4) { width: 53px; }
  body:has(.admin-topbar):has(.admin-members-page) .admin-members-source-table th:nth-child(5),
  body:has(.admin-topbar):has(.admin-members-page) .admin-members-source-table td:nth-child(5) { width: 44px; }
  body:has(.admin-topbar):has(.admin-members-page) .admin-members-source-table th:nth-child(6),
  body:has(.admin-topbar):has(.admin-members-page) .admin-members-source-table td:nth-child(6) { width: 44px; }
  body:has(.admin-topbar):has(.admin-members-page) .admin-members-source-table th:nth-child(7),
  body:has(.admin-topbar):has(.admin-members-page) .admin-members-source-table td:nth-child(7) { width: 22px; }
  body:has(.admin-topbar):has(.admin-members-page) .admin-members-source-table th:nth-child(8),
  body:has(.admin-topbar):has(.admin-members-page) .admin-members-source-table td:nth-child(8) { width: 22px; }
  body:has(.admin-topbar):has(.admin-members-page) .admin-members-source-table th:nth-child(9),
  body:has(.admin-topbar):has(.admin-members-page) .admin-members-source-table td:nth-child(9) { width: 24px; }

  body:has(.admin-topbar):has(.admin-members-page) .admin-members-source-table td {
    padding-right: 2px;
    padding-left: 2px;
    font-size: 6px;
    line-height: 8px;
  }

  body:has(.admin-topbar):has(.admin-members-page) .admin-members-source-table th small,
  body:has(.admin-topbar):has(.admin-members-page) .admin-members-source-table td small {
    font-size: 6px;
    line-height: 8px;
  }

  body:has(.admin-topbar):has(.admin-members-page) .admin-delete-member-btn {
    width: 10px;
    height: 10px;
    margin-right: 2px;
    font-size: 8px;
    line-height: 10px;
  }

  body:has(.admin-topbar):has(.admin-members-page) .admin-members-source-table .avatar-placeholder {
    width: 10px;
    height: 10px;
    overflow: hidden;
  }

  .admin-member-add-page {
    width: 390px;
    max-width: none;
    margin: 0;
    padding-top: 48px;
  }

  .admin-member-add-page h3 {
    width: 366px;
    margin-left: 12px;
    margin-bottom: 24px;
    font-size: 19.2px;
    line-height: 23.04px;
  }

  .admin-member-add-grid {
    position: relative;
    display: block;
    grid-template-columns: 183px 25px 182px;
    grid-template-rows: none;
    grid-auto-rows: auto;
    column-gap: 0;
    row-gap: 0;
    width: 390px;
    height: 930.22px;
  }

  .admin-member-add-grid > .add-label,
  .admin-member-add-grid > input,
  .admin-member-add-grid > select,
  .admin-member-add-grid > .add-composite,
  .admin-member-add-grid > .add-crm-placeholder,
  .admin-member-add-grid > .add-photo-file-control,
  .admin-member-add-grid > .add-photo-placeholder,
  .admin-member-add-grid > .add-static,
  .admin-member-add-grid > .add-radio-row,
  .admin-member-add-grid > .add-credit-row,
  .admin-member-add-grid > .add-member-credit-row,
  .admin-member-add-grid > .add-value-row {
    position: absolute;
  }

  .admin-member-add-grid .add-label {
    min-height: 31px;
    font-size: 14px;
    line-height: 21px;
  }

  .admin-member-add-grid input,
  .admin-member-add-grid select {
    height: 31px;
    min-height: 31px;
    font-size: 14px;
  }

  .add-firstname-label { left: 0; top: 0; width: 183px; }
  .add-firstname-input { left: 12px; top: 31px; }
  .add-lastname-label { left: 0; top: 70px; width: 183px; }
  .add-lastname-input { left: 12px; top: 101px; }
  .add-birth-label { left: 0; top: 140px; width: 183px; }
  .add-birth-composite { left: 12px; top: 171px; width: 159px; }
  .add-email-label { left: 0; top: 272px; width: 183px; }
  .add-email-composite { left: 12px; top: 303px; width: 159px; }
  .add-phone-label { left: 0; top: 415px; width: 183px; padding-left: 12px !important; }
  .add-phone-input { left: 12px; top: 446px; }
  .add-address-label { left: 0; top: 485px; width: 183px; }
  .add-address-input { left: 12px; top: 516px; }
  .add-postcode-label { left: 0; top: 555px; width: 183px; }
  .add-city-composite { left: 12px; top: 586px; width: 159px; }
  .add-photo-label { left: 208px; top: 0; width: 182px; }
  .add-photo-file-control { left: 220px; top: 31px; }
  .add-photo-placeholder { left: 235px; top: 78px; }
  .add-profile-label { left: 208px; top: 178px; width: 182px; }
  .add-profile-select { left: 220px; top: 209px; }
  .add-crm-placeholder { left: 0; top: 731px; width: 183px; }
  .add-registration-label { left: 208px; top: 248px; width: 182px; }
  .add-registration-input { left: 220px; top: 279px; margin-top: 0; }
  .add-payment-label { left: 208px; top: 326px; width: 182px; }
  .add-payment-value { left: 220px; top: 357px; width: 158px; }
  .add-reminder-label { left: 208px; top: 383px; width: 182px; }
  .add-radio-row { left: 220px; top: 419px; width: 158px; }
  .add-credit-euro-label { left: 208px; top: 478px; width: 182px; }
  .add-credit-row { left: 220px; top: 512px; width: 158px; }
  .add-credit-member-label { left: 208px; top: 567px; width: 182px; }
  .add-member-credit-row { left: 220px; top: 600px; width: 158px; }
  .add-session-label { left: 208px; top: 689px; width: 182px; }
  .add-session-label + .add-credit-select { left: 220px; top: 720px; }
  .add-workshop-label { left: 208px; top: 755px; width: 182px; }
  .add-workshop-label + .add-credit-select { left: 220px; top: 786px; }
  .add-value-label { left: 208px; top: 837px; width: 182px; }
  .add-value-row { left: 220px; top: 868px; width: 158px; }

  .add-firstname-input,
  .add-lastname-input,
  .add-birth-composite,
  .add-email-composite,
  .add-address-input,
  .add-city-composite {
    margin-left: 0;
  }

  .add-firstname-input,
  .add-lastname-input,
  .add-birth-composite input:first-child,
  .add-email-composite input,
  .add-phone-input,
  .add-photo-file-control,
  .add-profile-select,
  .add-registration-input,
  .add-credit-select {
    width: 158px;
  }

  .add-photo-file-button {
    max-width: 126px;
    padding-inline: 8px;
  }

  .add-photo-file-name {
    padding-inline: 6px;
  }

  .add-profile-select {
    width: 67px;
  }

  .add-address-input {
    width: 159px;
  }

  .add-birth-composite,
  .add-email-composite {
    display: block !important;
  }

  .add-birth-composite label {
    display: block !important;
    width: auto !important;
    margin: 8px 0 0;
    padding: 5px 0;
    font-size: 14px;
    line-height: 21px;
  }

  .add-birth-composite input:last-child {
    display: block !important;
    width: 20px !important;
  }

  .add-email-composite span {
    display: block;
    width: 158px;
    margin-top: 9px;
    font-size: 14px;
    line-height: 21px;
  }

  .add-city-composite {
    display: block !important;
    gap: 0;
  }

  .add-city-composite input:first-child {
    width: 159px;
  }

  .add-city-composite label {
    display: block;
    width: 159px;
    margin: 8px 0 0;
    padding: 5px 0;
    text-align: left;
  }

  .add-city-composite input:last-child {
    display: block;
    width: 159px;
  }

  .add-radio-row,
  .add-credit-row,
  .add-member-credit-row {
    gap: 16px;
    font-size: 14px;
    line-height: 21px;
  }

  .add-credit-row,
  .add-member-credit-row {
    display: block;
  }

  .add-credit-row span,
  .add-credit-row strong,
  .add-member-credit-row span,
  .add-member-credit-row strong {
    display: block;
  }

  .add-member-credit-row .add-member-credit-detail,
  .add-member-credit-row .add-dispatcher-text {
    display: inline;
  }

  .add-credit-row strong,
  .add-member-credit-row strong {
    margin-top: 3px;
  }

  .add-value-row input {
    width: 38px;
  }

  .add-value-row {
    display: block;
  }

  .add-value-row span {
    display: flex;
    width: 75px;
    margin-top: 0;
    border-left: 1px solid #dee2e6;
    border-radius: 3.2px;
  }

  .admin-member-add-create-row {
    justify-content: center;
    flex-wrap: wrap;
    min-height: 104px;
    margin-top: 34px;
    padding: 0 12px;
    text-align: center;
  }

  .admin-member-add-create-row span {
    flex: 0 0 366px;
    margin: 0 0 8px;
    white-space: normal;
  }

  .admin-member-add-rgpd {
    margin: 22px 12px 0;
    font-size: 14px;
    line-height: 22px;
  }

  body:has(.members) .footer {
    box-sizing: border-box;
    height: 64.38px;
    min-height: 64.38px;
    padding: 10px 12px;
    font-size: 14px;
    line-height: 22px;
  }

  .member-detail {
    padding-top: 47px;
    padding-bottom: 28px;
  }

  .member-detail h3 {
    margin: 0 0 28px 0;
    font-size: 18px;
    font-weight: 400;
    line-height: 31px;
    text-transform: uppercase;
  }

  .member-detail h3 small {
    display: block;
    font-size: 18px;
    line-height: 31px;
  }

  .member-detail-grid {
    grid-template-columns: 159px 24px 1px 24px 158px;
    grid-template-rows:
      25px 31px 25px 31px 25px 31px 25px 31px 25px 31px
      25px 31px 17px 25px 31px 25px 31px 17px 25px 31px
      25px 31px 25px 31px 25px 52px
      25px 100px 24px 108px 25px 31px 24px 31px 25px 52px
      25px 31px 25px 31px 25px 64px;
    row-gap: 0;
    column-gap: 0;
    align-items: start;
    position: relative;
    height: 882px;
    background: none;
  }

  .member-detail-grid::before {
    content: "";
    position: static;
    left: auto;
    top: auto;
    border-left: 0;
    grid-column: 3;
    grid-row: 1;
    width: 1px;
    height: 1074px;
    background: #dee2e6;
  }

  .member-detail-grid label {
    min-height: 25px;
    padding: 0;
    font-size: 14px;
    line-height: 25px;
  }

  .member-detail-grid input,
  .member-detail-grid select,
  .member-detail-grid textarea {
    width: 159px;
    min-height: 31px;
    font-size: 14px;
    line-height: 21px;
  }

  .member-detail-grid .source-plain {
    width: 159px;
    min-height: 31px;
    padding: 0;
    font-size: 16px;
    line-height: 31px;
  }

  .first-label { grid-column: 1; grid-row: 1; }
  .first-field { grid-column: 1; grid-row: 2; }
  .last-label { grid-column: 1; grid-row: 3; }
  .last-field { grid-column: 1; grid-row: 4; }
  .birth-label { grid-column: 1; grid-row: 5; }
  .birth-field { grid-column: 1; grid-row: 6; }
  .email-label { grid-column: 1; grid-row: 7; }
  .email-field { grid-column: 1; grid-row: 8; }
  .phone-label { grid-column: 1; grid-row: 9; }
  .phone-field { grid-column: 1; grid-row: 10; }
  .address-label { grid-column: 1; grid-row: 11; }
  .address-field { grid-column: 1; grid-row: 12; }
  .postcode-label { grid-column: 1; grid-row: 14; }
  .postcode-field { grid-column: 1; grid-row: 15; }
  .city-label { grid-column: 1; grid-row: 16; }
  .city-field { grid-column: 1; grid-row: 17; }

  .city-label,
  .city-field {
    width: 159px;
    transform: none;
  }

  .civility-label { grid-column: 1; grid-row: 19; }
  .civility-field { grid-column: 1; grid-row: 20; }
  .profile-label { grid-column: 1; grid-row: 21; }
  .profile-field { grid-column: 1; grid-row: 22; }
  .origin-label { grid-column: 1; grid-row: 23; }
  .origin-field { grid-column: 1; grid-row: 24; }
  .comments-label { grid-column: 1; grid-row: 25; }
  .comments-field {
    grid-column: 1;
    grid-row: 26;
    transform: none;
  }

  .right-photo-label {
    grid-column: 5;
    grid-row: 1;
    min-height: 25px;
  }

  .member-photo-box {
    grid-column: 5;
    grid-row: 2 / span 4;
    width: 158px;
    height: 100px;
    padding-left: 15px;
  }

  .member-photo-box img {
    width: 100px;
    height: 100px;
    margin-left: 0;
  }

  .member-profile-label { grid-column: 5; grid-row: 7; }
  .member-profile-copy {
    grid-column: 5;
    grid-row: 8 / span 4;
    width: 158px;
    min-height: 108px;
    padding: 0;
    font-size: 18px;
    line-height: 27px;
  }
  .registered-label { grid-column: 5; grid-row: 12; }
  .registered-field { grid-column: 5; grid-row: 13; }
  .membership-label { grid-column: 5; grid-row: 15; }
  .membership-field { grid-column: 5; grid-row: 16; font-weight: 700; }
  .priority-label { grid-column: 5; grid-row: 17; }
  .priority-field { grid-column: 5; grid-row: 18; }
  .reminder-label { grid-column: 5; grid-row: 19; }
  .reminder-field { grid-column: 5; grid-row: 20; }
  .euro-label { grid-column: 5; grid-row: 21; }
  .euro-field { grid-column: 5; grid-row: 22 / span 2; }
  .credits-label { grid-column: 5; grid-row: 24; }
  .credits-field { grid-column: 5; grid-row: 25 / span 2; }
  .session-spacer { grid-column: 5; grid-row: 27; }
  .session-field { grid-column: 5; grid-row: 28 / span 2; }
  .workshop-field { grid-column: 5; grid-row: 30 / span 2; align-self: start; }
  .linked-label { grid-column: 5; grid-row: 31; }
  .linked-field { grid-column: 5; grid-row: 32 / span 4; }

  .registered-label,
  .registered-field,
  .membership-label,
  .membership-field,
  .euro-label,
  .euro-field,
  .credits-label,
  .credits-field,
  .session-field,
  .workshop-field,
  .linked-label,
  .linked-field {
    transform: none;
  }

  .member-profile-copy,
  .member-static {
    width: 158px;
    padding: 0;
    font-size: 14px;
    line-height: 31px;
  }

  .member-credit-line {
    display: block;
    width: 158px;
    min-height: 52px;
    font-size: 14px;
    line-height: 26px;
  }

  .member-credit-line span,
  .member-credit-line strong {
    display: block;
  }

  .member-credit-line select {
    width: 158px;
  }

  .member-history-actions {
    flex-wrap: wrap;
    align-items: flex-start;
    width: 166px;
    margin: 28px 0 52px 0;
    line-height: 31px;
  }

  .member-history-actions > span {
    width: 166px;
    height: 31px;
  }

  .member-history-actions .oldBook {
    width: 101px;
    margin-right: 8px;
  }

  .member-history-actions .transactions {
    width: 125px;
    margin-right: 16px;
  }

  .member-history-actions .adhesions {
    width: 78px;
    margin-right: 16px;
  }

  .member-history-actions .existingNotes {
    width: 56px;
    margin-right: 4px;
  }

  .btn-history {
    position: relative;
    overflow: visible;
  }

  .member-detail-actions {
    justify-content: flex-start;
    gap: 4px;
  }

  .member-detail-actions .btn {
    height: 36px;
    padding: 6px 12px;
    font-size: 16px;
  }

  .rgpd-warning {
    margin-top: 28px;
    color: #535353;
    font-size: 14px;
    line-height: 23.8px;
  }

  body:has(.member-detail) .footer {
    box-sizing: border-box;
    height: 64px;
    min-height: 64px;
    padding: 10px 12px;
    align-items: stretch;
    background: #fff;
  }

  .to-top {
    display: none;
  }

  .event-form {
    grid-template-columns: 1fr;
  }

  .planning-event-dialog--admin-model,
  .planning-event-dialog--admin-event {
    width: calc(100vw - 20px);
    max-width: calc(100vw - 20px);
    transform: none;
  }

  .planning-event-content--admin-model,
  .planning-event-content--admin-event {
    max-height: calc(100vh - 20px);
    max-height: calc(100dvh - 20px);
    min-height: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
  }

  .planning-event-content--admin-model .modal-header,
  .planning-event-content--admin-event .modal-header {
    min-height: 0;
    padding: 10px 12px;
  }

  .planning-event-content--admin-model .modal-title,
  .planning-event-content--admin-event .modal-title {
    max-width: calc(100% - 42px);
    font-size: 16px;
    line-height: 22px;
  }

  .planning-event-content--admin-model .modal-body,
  .planning-event-content--admin-event .modal-body {
    min-height: 0;
    overflow-y: auto;
    overflow-x: hidden;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
    padding: 12px;
  }

  .event-form--admin-model,
  .event-form--admin-event {
    position: static;
    display: grid;
    grid-template-columns: 1fr;
    gap: 6px;
    height: auto;
    box-sizing: border-box;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100%;
  }

  .event-form--admin-model .field-label,
  .event-form--admin-event .field-label,
  .event-form--admin-model > *,
  .event-form--admin-event > *,
  .event-form--admin-model input,
  .event-form--admin-event input,
  .event-form--admin-model select,
  .event-form--admin-event select,
  .event-form--admin-model textarea,
  .event-form--admin-event textarea,
  .event-form--admin-model .btn,
  .event-form--admin-event .btn,
  .event-form--admin-model .listeservices,
  .event-form--admin-event .listeservices,
  .event-form--admin-model .listecontribs,
  .event-form--admin-event .listecontribs,
  .event-form--admin-model .listerooms,
  .event-form--admin-event .listerooms,
  .event-form--admin-model .listemembres,
  .event-form--admin-event .listemembres,
  .event-form--admin-model .btn-colorselector,
  .event-form--admin-event .btn-colorselector,
  .event-form--admin-model .reserved-member-wrap,
  .event-form--admin-event .reserved-member-wrap,
  .event-form--admin-model .event-credit-legend {
    position: static;
    grid-column: 1 !important;
    grid-row: auto !important;
    grid-area: auto !important;
    left: auto !important;
    top: auto !important;
    margin-left: 0 !important;
    box-sizing: border-box;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100%;
  }

  .event-form--admin-event .event-credit-legend {
    position: static;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100%;
  }

  .event-form--admin-model.event-form--admin-event > *,
  .event-form--admin-model.event-form--admin-event .field-label,
  .event-form--admin-model.event-form--admin-event input,
  .event-form--admin-model.event-form--admin-event select,
  .event-form--admin-model.event-form--admin-event textarea,
  .event-form--admin-model.event-form--admin-event .btn,
  .event-form--admin-model.event-form--admin-event .listeservices,
  .event-form--admin-model.event-form--admin-event .listecontribs,
  .event-form--admin-model.event-form--admin-event .listerooms,
  .event-form--admin-model.event-form--admin-event .listemembres,
  .event-form--admin-model.event-form--admin-event .btn-colorselector,
  .event-form--admin-model.event-form--admin-event .reserved-member-wrap,
  .event-form--admin-model.event-form--admin-event .event-credit-legend {
    position: static !important;
    grid-column: 1 !important;
    grid-row: auto !important;
    grid-area: auto !important;
    left: auto !important;
    top: auto !important;
    margin-left: 0 !important;
    box-sizing: border-box;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }

  .event-form--admin-model.event-form--editable > *,
  .event-form--admin-model.event-form--editable .field-label,
  .event-form--admin-model.event-form--editable input,
  .event-form--admin-model.event-form--editable select,
  .event-form--admin-model.event-form--editable textarea,
  .event-form--admin-model.event-form--editable .btn,
  .event-form--admin-model.event-form--editable .listeservices,
  .event-form--admin-model.event-form--editable .listecontribs,
  .event-form--admin-model.event-form--editable .listerooms,
  .event-form--admin-model.event-form--editable .listemembres,
  .event-form--admin-model.event-form--editable .btn-colorselector,
  .event-form--admin-model.event-form--editable .reserved-member-wrap,
  .event-form--admin-model.event-form--editable .event-credit-legend {
    position: static !important;
    grid-column: 1 !important;
    grid-row: auto !important;
    grid-area: auto !important;
    left: auto !important;
    top: auto !important;
    margin-left: 0 !important;
    box-sizing: border-box;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }

  .event-form--admin-model .field-label,
  .event-form--admin-event .field-label {
    margin-top: 4px;
  }

  .event-form--admin-model .listeservices,
  .event-form--admin-event .listeservices,
  .event-form--admin-model .listecontribs,
  .event-form--admin-event .listecontribs,
  .event-form--admin-model .listerooms,
  .event-form--admin-event .listerooms,
  .event-form--admin-model .listemembres,
  .event-form--admin-event .listemembres,
  .event-form--admin-model .btn-colorselector {
    height: auto;
    min-height: 31px;
    white-space: normal;
  }

  .event-form--admin-event .btn-colorselector {
    height: auto;
    min-height: 31px;
    white-space: normal;
  }

  .event-form--admin-model .reserved-member-wrap,
  .event-form--admin-event .reserved-member-wrap {
    display: block;
    height: auto;
  }

  .planning-event-content--admin-model .modal-footer,
  .planning-event-content--admin-event .modal-footer {
    position: static;
    min-height: 0;
    flex-wrap: wrap;
    gap: 6px;
    padding: 8px 12px;
  }

  .planning-event-content--admin-model .modal-footer .btn,
  .planning-event-content--admin-event .modal-footer .btn,
  .planning-event-content--admin-model .modal-footer .btn-primary,
  .planning-event-content--admin-event .modal-footer .btn-primary,
  .planning-event-content--admin-model .modal-footer .btn-outline-secondary,
  .planning-event-content--admin-event .modal-footer .btn-outline-secondary,
  .planning-event-content--admin-model .modal-footer .btn-danger {
    position: static;
    width: auto;
    min-width: 0;
    margin: 0;
  }

  .planning-event-content--admin-event .modal-footer .btn-danger,
  .planning-event-content--admin-event .modal-footer .admin-duplicate-weekly {
    position: static;
    width: auto;
    min-width: 0;
    margin: 0;
  }

  .planning-event-content--admin-model .modal-footer .btn-danger {
    margin-right: auto;
  }

  .description-field,
  .visio-field {
    grid-column: auto;
  }

  .field-with-action {
    grid-template-columns: 1fr 36px;
  }

  .event-image-empty {
    justify-self: start;
    width: 80px;
    height: 80px;
    font-size: 52px;
    transform: none;
  }

  .admin-dashboard-source-page {
    width: calc(100% - 20px);
    margin: 24px auto 40px;
  }

  .admin-dashboard-date {
    margin: -30px 0 22px;
    font-size: 12px;
  }

  .admin-dashboard-rate-chart {
    overflow-x: auto;
    padding: 12px;
  }

  .admin-dashboard-rate-chart__head {
    min-width: 610px;
  }

  .admin-dashboard-rate-chart__plot {
    width: 610px;
    height: 240px;
  }

  .admin-dashboard-rate-chart__bars {
    height: 190px;
    gap: 6px;
  }

  .rate-bar {
    width: 35px;
    border-width: 2px;
    border-radius: 8px;
  }

  .admin-dashboard-columns {
    grid-template-columns: 1fr;
  }

  .admin-dashboard-block {
    overflow-x: auto;
  }

  .admin-dashboard-source-table {
    min-width: 620px;
  }

  .admin-dashboard-block--wide .admin-dashboard-source-table {
    min-width: 720px;
  }

  .footer {
    display: block;
    box-sizing: border-box;
    height: 64px;
    min-height: 64px;
    padding: 0 12px 10px;
    background: #fff;
    text-align: center;
    justify-content: center;
  }
}

/* Admin member edit final cascade gate: this block must stay after the shared
   member-detail rules so admin-only fields cannot be overwritten by the
   intervenant component contract. */
.admin-member-detail .member-detail-grid {
  grid-template-columns: 150px 12px 210px 12px 96px 12px 160px 42px 150px 150px 150px 130px;
  grid-template-rows: 31px 31px 24px 25px 31px 31px 31px 31px 24px 42px 31px 31px 31px 31px 24px 31px 52px;
  height: auto;
  min-height: 585px;
  background:
    linear-gradient(#dee2e6, #dee2e6) 12px 275px / 578px 1px no-repeat,
    linear-gradient(#dee2e6, #dee2e6) 12px 478px / 578px 1px no-repeat,
    linear-gradient(#dee2e6, #dee2e6) 640px 365px / 590px 1px no-repeat,
    linear-gradient(#dee2e6, #dee2e6) 640px 526px / 590px 1px no-repeat;
}

.admin-member-detail .member-detail-grid::before {
  display: none;
}

.admin-member-detail .first-field,
.admin-member-detail .last-field {
  grid-column: 3 / 8;
  width: auto;
  transform: none;
}

.admin-member-detail .admin-birth-field {
  display: grid;
  grid-column: 3;
  grid-row: 3 / span 2;
  grid-template-rows: 31px 21px;
  width: 210px;
  gap: 3px;
}

.admin-member-detail .mapping-label { grid-column: 5; grid-row: 3; transform: none; }
.admin-member-detail .mapping-field { grid-column: 7; grid-row: 3; width: auto; transform: none; }
.admin-member-detail .birth-field { grid-column: 1; grid-row: 1; width: 210px; transform: none; }
.admin-member-detail .member-age-label { grid-column: 1; grid-row: 2; color: #535353; font-size: 14px; font-weight: 700; line-height: 21px; padding-left: 0; }
.admin-member-detail .email-label { grid-column: 1; grid-row: 5; transform: none; }
.admin-member-detail .email-field { grid-column: 3; grid-row: 5; width: auto; transform: none; }
.admin-member-detail .password-label { grid-column: 5; grid-row: 5; width: auto; transform: none; }
.admin-member-detail .password-field { grid-column: 7; grid-row: 5; width: auto; transform: none; }
.admin-member-detail .phone-label { grid-column: 1; grid-row: 6; width: auto; transform: none; }
.admin-member-detail .phone-field { grid-column: 3 / 8; grid-row: 6; width: auto; transform: none; }
.admin-member-detail .address-label { grid-column: 1; grid-row: 7; transform: none; }
.admin-member-detail .address-field { grid-column: 3 / 8; grid-row: 7; width: auto; transform: none; }
.admin-member-detail .postcode-label { grid-column: 1; grid-row: 8; transform: none; }
.admin-member-detail .postcode-field { grid-column: 3; grid-row: 8; width: 126.6px; transform: none; }
.admin-member-detail .city-label { grid-column: 5; grid-row: 8; width: 50.2px; transform: translateX(-50.2px); }
.admin-member-detail .city-field { grid-column: 7; grid-row: 8; width: 227px; transform: translateX(-100.4px); }
.admin-member-detail .civility-label { grid-column: 1; grid-row: 10; transform: none; }
.admin-member-detail .civility-field { grid-column: 3 / 8; grid-row: 10; width: auto; transform: none; }
.admin-member-detail .profile-label { grid-column: 1; grid-row: 11; transform: none; }
.admin-member-detail .profile-field { grid-column: 3 / 8; grid-row: 11; width: auto; transform: none; }
.admin-member-detail .origin-label { grid-column: 1; grid-row: 12; transform: none; }
.admin-member-detail .origin-field { grid-column: 3 / 8; grid-row: 12; width: auto; transform: none; }
.admin-member-detail .comments-label { grid-column: 1; grid-row: 13; transform: none; }
.admin-member-detail .comments-field { grid-column: 3 / 8; grid-row: 13; width: auto; transform: translateY(2.3px); }

.admin-member-detail .right-photo-label { grid-column: 9; grid-row: 1 / span 3; transform: none; }
.admin-member-detail .member-photo-box { grid-column: 10 / 13; grid-row: 1 / span 3; transform: none; }
.admin-member-detail .member-profile-label { grid-column: 9; grid-row: 4; transform: none; }
.admin-member-detail .member-profile-copy {
  grid-column: 10 / 13;
  grid-row: 4;
  min-width: 0;
  transform: none;
}
.admin-member-detail .member-profile-select {
  width: 390px;
  max-width: 100%;
}
.admin-member-detail .admin-role-label {
  display: block;
  grid-column: 10;
  grid-row: 5;
  transform: none;
}
.admin-member-detail .admin-role-field {
  grid-column: 11 / 13;
  grid-row: 5;
  width: 230px;
  min-width: 0;
  justify-self: start;
  border-color: #ced4da;
  transform: none;
}
.admin-member-detail .registered-label { grid-column: 9; grid-row: 6; transform: none; }
.admin-member-detail .registered-field { grid-column: 10; grid-row: 6; transform: none; }
.admin-member-detail .membership-label { grid-column: 9; grid-row: 7; transform: none; }
.admin-member-detail .membership-field { grid-column: 10 / 13; grid-row: 7; transform: none; }
.admin-member-detail .priority-label { grid-column: 9; grid-row: 10; transform: none; }
.admin-member-detail .priority-field { grid-column: 10; grid-row: 10; transform: none; }
.admin-member-detail .reminder-label { grid-column: 9; grid-row: 9; transform: none; }
.admin-member-detail .reminder-field { grid-column: 10 / 13; grid-row: 9; transform: none; }
.admin-member-detail .euro-label { grid-column: 9; grid-row: 11; transform: translateY(6px); }
.admin-member-detail .euro-field { grid-column: 10 / 13; grid-row: 11; transform: translateY(6px); }
.admin-member-detail .credits-label { grid-column: 9; grid-row: 12; transform: translateY(6px); }
.admin-member-detail .credits-field { grid-column: 10 / 13; grid-row: 12; transform: translateY(6px); }
.admin-member-detail .session-spacer { grid-column: 9; grid-row: 13; transform: translateY(6px); }
.admin-member-detail .session-field { grid-column: 10 / 13; grid-row: 13; align-self: start; transform: translateY(6px); }
.admin-member-detail .workshop-field { grid-column: 10 / 13; grid-row: 14; align-self: start; transform: translateY(6px); }
.admin-member-detail .credit-value-label { grid-column: 9; grid-row: 16; transform: none; }
.admin-member-detail .credit-value-field { grid-column: 10 / 13; grid-row: 16; transform: none; }
.admin-member-detail .linked-label { grid-column: 9; grid-row: 17; transform: none; }
.admin-member-detail .linked-field { grid-column: 10 / 13; grid-row: 17; transform: none; }

.admin-member-detail .euro-field,
.admin-member-detail .credits-field,
.admin-member-detail .linked-field {
  min-width: 0;
  max-width: 100%;
  overflow-wrap: anywhere;
}

.admin-member-detail .member-credit-line {
  grid-template-columns: minmax(120px, 1fr) minmax(0, max-content);
  min-width: 0;
  max-width: 100%;
}

.admin-member-detail .member-credit-line span,
.admin-member-detail .member-credit-line strong {
  min-width: 0;
  max-width: 100%;
  white-space: normal;
}

.admin-member-detail .admin-email-icon {
  display: inline-block;
  margin-left: 3px;
  color: #212529;
  font-size: 11px;
  line-height: 1;
  vertical-align: 1px;
}

.admin-member-detail .admin-date-display {
  display: inline-flex;
  width: 146px;
  min-height: 31px;
  align-items: center;
  justify-content: space-between;
  border: 1px solid #ced4da;
  border-radius: 3.2px;
  background: #fff;
  padding: 4px 8px;
  font-size: 14px;
  line-height: 21px;
}

.admin-member-detail .admin-date-calendar {
  color: #212529;
  font-size: 13px;
  line-height: 1;
}

.admin-member-detail .admin-member-dependent-plus {
  display: inline-flex;
  width: 22px;
  height: 22px;
  min-height: 0;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: 50%;
  background: #28a745;
  color: #fff;
  font-size: 18px;
  font-weight: 700;
  line-height: 22px;
  cursor: pointer;
}

.admin-member-detail .membership-plus {
  grid-column: 9;
  grid-row: 8;
  justify-self: start;
  transform: translateY(-16px);
}

.admin-member-detail .euro-plus {
  grid-column: 9;
  grid-row: 11;
  justify-self: start;
  transform: translate(86px, 8px);
}

.admin-member-detail .credits-plus {
  grid-column: 9;
  grid-row: 12;
  justify-self: start;
  transform: translate(106px, 8px);
}

.admin-member-detail .btn-success,
.admin-member-detail .btn-primary,
.admin-member-detail .btn-dark,
.admin-member-detail .btn-danger,
.admin-member-detail .btn-history,
.admin-member-detail .member-history-plus {
  color: #fff;
}

.admin-member-detail .btn-success:hover,
.admin-member-detail .btn-primary:hover,
.admin-member-detail .btn-dark:hover,
.admin-member-detail .btn-danger:hover,
.admin-member-detail .btn-history:hover,
.admin-member-detail .member-history-plus:hover {
  color: #fff;
}

.admin-member-detail .modify_pwd.btn-outline-secondary {
  background: #fff;
  border-color: var(--primary);
  color: var(--primary);
}

body:has(.admin-member-detail) {
  overflow-x: hidden;
}

.admin-member-detail.container {
  width: min(100%, 1540px);
  max-width: calc(100vw - 80px);
  overflow: visible;
}

@media (min-width: 701px) and (max-width: 1599px) {
  .admin-member-detail .member-detail-grid {
    grid-template-columns: 160px 10px 202px 24px 100px 14px 146px 48px 160px 160px 152px 118px;
    max-width: 100%;
    margin-left: 0;
  }

  .admin-member-detail .member-detail-grid label {
    padding-left: 0;
    padding-right: 8px;
  }

  .admin-member-detail .first-field,
  .admin-member-detail .last-field,
  .admin-member-detail .phone-field,
  .admin-member-detail .address-field,
  .admin-member-detail .civility-field,
  .admin-member-detail .profile-field,
  .admin-member-detail .origin-field,
  .admin-member-detail .comments-field {
    min-width: 0;
  }

  .admin-member-detail .admin-birth-field,
  .admin-member-detail .birth-field {
    width: 202px;
  }

  .admin-member-detail .email-field {
    width: 202px;
  }

  .admin-member-detail .mapping-field {
    width: 90px;
  }

  .admin-member-detail .password-field {
    width: 146px;
  }

  .admin-member-detail .postcode-field {
    width: 140px;
  }

  .admin-member-detail .city-label {
    width: auto;
    transform: none;
  }

  .admin-member-detail .city-field {
    width: 202px;
    transform: none;
  }

  .admin-member-detail .member-profile-select {
    width: 390px;
    max-width: 100%;
  }

  .admin-member-detail .admin-role-label {
    display: block;
    grid-column: 10;
    grid-row: 5;
    transform: none;
  }

  .admin-member-detail .admin-role-field {
    grid-column: 11 / 13;
    grid-row: 5;
    width: auto;
    min-width: 0;
    transform: none;
  }

  .admin-member-detail .member-credit-line {
    grid-template-columns: minmax(132px, 1fr) minmax(0, max-content);
    gap: 8px;
    min-width: 0;
    max-width: 100%;
  }

  .admin-member-detail .member-credit-line span,
  .admin-member-detail .member-credit-line strong {
    min-width: 0;
    max-width: 100%;
    white-space: normal;
  }

  .admin-member-detail .session-field,
  .admin-member-detail .workshop-field {
    grid-template-columns: 132px 88px;
  }

  .admin-member-detail .reminder-field {
    display: flex;
    align-items: center;
    gap: 12px;
  }
}

.admin-member-detail .modify_pwd.btn-outline-secondary {
  min-height: 31px;
  padding: 0;
  border: 0;
  background: transparent;
  color: #212529;
  font-weight: 700;
}

.admin-member-detail .modify_pwd.btn-outline-secondary:hover {
  background: transparent;
  color: #212529;
}

.admin-member-detail .btn-history {
  background: #fff;
  border-color: var(--primary);
  color: var(--primary);
  font-size: 13px;
  min-height: 31px;
}

.admin-member-detail .btn-history:hover {
  background: #fff;
  color: var(--primary);
}

.admin-member-detail .member-history-actions {
  position: relative;
  z-index: 50;
  margin-top: 24px;
  margin-bottom: 48px;
  pointer-events: auto;
}

.admin-member-detail .member-history-actions button,
.admin-member-detail .member-history-actions a {
  position: relative;
  z-index: 51;
  pointer-events: auto;
}

.admin-member-detail .member-history-plus {
  position: relative;
  z-index: 52;
  pointer-events: auto;
  flex: 0 0 23px;
}

.admin-member-detail .member-history-actions .oldBook,
.admin-member-detail .member-history-actions .cancellations,
.admin-member-detail .member-history-actions .transactions,
.admin-member-detail .member-history-actions .adhesions,
.admin-member-detail .member-history-actions .existingNotes {
  width: auto;
  min-width: 0;
  margin-right: 16px;
  padding-left: 8px;
  padding-right: 8px;
}

.admin-member-detail .member-history-actions .oldBook {
  margin-right: 5px;
}

.admin-member-detail .member-history-actions .cancellations {
  margin-left: 16px;
}

.admin-member-detail .member-history-actions .existingNotes {
  margin-right: 4px;
}

@media (max-width: 700px) {
  .admin-member-detail .member-detail-grid {
    grid-template-columns: 159px 24px 1px 24px 158px;
    grid-template-rows:
      25px 31px 25px 31px 25px 55px 25px 31px 25px 31px
      25px 31px 17px 25px 31px 25px 31px 17px 25px 31px
      25px 31px 25px 31px 25px 52px
      25px 132px 24px 108px 25px 31px 24px 31px 25px 52px
      25px 31px 25px 31px 25px 31px 25px 64px;
    height: auto;
    min-height: 1070px;
    background: none;
    margin-left: 12px;
  }

  .admin-member-detail .member-detail-grid::before {
    display: none;
  }

  .admin-member-detail .first-label { grid-column: 1; grid-row: 1; }
  .admin-member-detail .first-field { grid-column: 1; grid-row: 2; }
  .admin-member-detail .last-label { grid-column: 1; grid-row: 3; }
  .admin-member-detail .last-field { grid-column: 1; grid-row: 4; }
  .admin-member-detail .birth-label { grid-column: 1; grid-row: 5; }
  .admin-member-detail .admin-birth-field { grid-column: 1; grid-row: 6 / span 2; grid-template-columns: 159px; grid-template-rows: 31px 21px; gap: 3px; }
  .admin-member-detail .mapping-label { grid-column: 1; grid-row: 8; }
  .admin-member-detail .mapping-field { grid-column: 1; grid-row: 9; }
  .admin-member-detail .email-label { grid-column: 1; grid-row: 10; }
  .admin-member-detail .email-field { grid-column: 1; grid-row: 11; }
  .admin-member-detail .password-label { grid-column: 1; grid-row: 12; }
  .admin-member-detail .password-field { grid-column: 1; grid-row: 13; }
  .admin-member-detail .phone-label { grid-column: 1; grid-row: 15; }
  .admin-member-detail .phone-field { grid-column: 1; grid-row: 16; }
  .admin-member-detail .address-label { grid-column: 1; grid-row: 17; }
  .admin-member-detail .address-field { grid-column: 1; grid-row: 18; }
  .admin-member-detail .postcode-label { grid-column: 1; grid-row: 20; }
  .admin-member-detail .postcode-field { grid-column: 1; grid-row: 21; }
  .admin-member-detail .city-label { grid-column: 1; grid-row: 22; width: auto; transform: none; }
  .admin-member-detail .city-field { grid-column: 1; grid-row: 23; width: 159px; transform: none; }
  .admin-member-detail .civility-label { grid-column: 1; grid-row: 24; }
  .admin-member-detail .civility-field { grid-column: 1; grid-row: 25; }
  .admin-member-detail .profile-label { grid-column: 1; grid-row: 26; }
  .admin-member-detail .profile-field { grid-column: 1; grid-row: 27; }
  .admin-member-detail .origin-label { grid-column: 1; grid-row: 28; }
  .admin-member-detail .origin-field { grid-column: 1; grid-row: 29; }
  .admin-member-detail .comments-label { grid-column: 1; grid-row: 30; }
  .admin-member-detail .comments-field { grid-column: 1; grid-row: 31; }
  .admin-member-detail .right-photo-label { grid-column: 5; grid-row: 1 / span 3; }
  .admin-member-detail .member-photo-box { grid-column: 5; grid-row: 2 / span 4; }
  .admin-member-detail .comments-label,
  .admin-member-detail .comments-field {
    transform: translateY(-114px);
  }
  .admin-member-detail .member-profile-label {
    grid-column: 5;
    grid-row: 10;
    transform: translateY(-129px);
  }
  .admin-member-detail .member-profile-copy {
    grid-column: 5;
    grid-row: 11;
    transform: translateY(-144px);
  }
  .admin-member-detail .member-profile-select {
    width: 67px;
    padding-right: 22px;
  }
  .admin-member-detail .admin-role-label {
    display: block;
    grid-column: 5;
    grid-row: 12;
    transform: translateY(-172px);
  }
  .admin-member-detail .admin-role-field {
    grid-column: 5;
    grid-row: 13;
    width: 158px;
    padding-right: 22px;
    transform: translateY(-172px);
  }
  .admin-member-detail .registered-label { grid-column: 5; grid-row: 14; }
  .admin-member-detail .registered-field { grid-column: 5; grid-row: 15; }
  .admin-member-detail .membership-label { grid-column: 5; grid-row: 16; }
  .admin-member-detail .membership-field { grid-column: 5; grid-row: 17; }
  .admin-member-detail .membership-plus { grid-column: 5; grid-row: 18; transform: none; }
  .admin-member-detail .registered-label,
  .admin-member-detail .registered-field,
  .admin-member-detail .membership-label,
  .admin-member-detail .membership-field {
    transform: translateY(-172px);
  }
  .admin-member-detail .membership-plus {
    transform: translateY(-172px);
  }
  .admin-member-detail .priority-label { grid-column: 5; grid-row: 19; }
  .admin-member-detail .priority-field { grid-column: 5; grid-row: 20; }
  .admin-member-detail .reminder-label { grid-column: 5; grid-row: 21; }
  .admin-member-detail .reminder-field { grid-column: 5; grid-row: 22; }
  .admin-member-detail .reminder-label,
  .admin-member-detail .reminder-field {
    transform: translateY(-220px);
  }
  .admin-member-detail .euro-label { grid-column: 5; grid-row: 24; }
  .admin-member-detail .euro-field { grid-column: 5; grid-row: 25; }
  .admin-member-detail .credits-label { grid-column: 5; grid-row: 27; }
  .admin-member-detail .credits-field { grid-column: 5; grid-row: 28 / span 2; }
  .admin-member-detail .euro-label,
  .admin-member-detail .euro-field {
    transform: translateY(-210px);
  }
  .admin-member-detail .credits-label,
  .admin-member-detail .credits-field {
    transform: translateY(-197px);
  }
  .admin-member-detail .euro-plus { grid-column: 5; grid-row: 24; transform: translate(96px, -210px); }
  .admin-member-detail .credits-plus { grid-column: 5; grid-row: 27; transform: translate(118px, -197px); }
  .admin-member-detail .session-field { grid-column: 5; grid-row: 31 / span 2; grid-template-columns: 158px; }
  .admin-member-detail .workshop-field { grid-column: 5; grid-row: 34 / span 2; grid-template-columns: 158px; }
  .admin-member-detail .session-field,
  .admin-member-detail .workshop-field,
  .admin-member-detail .credit-value-label,
  .admin-member-detail .credit-value-field,
  .admin-member-detail .linked-label,
  .admin-member-detail .linked-field {
    transform: translateY(-375px);
  }
  .admin-member-detail .member-credit-line select {
    width: 158px;
  }
  .admin-member-detail .credit-value-label { grid-column: 5; grid-row: 37; }
  .admin-member-detail .credit-value-field { grid-column: 5; grid-row: 38; width: 158px; gap: 4px; }
  .admin-member-detail .credit-value-field input {
    width: 70px;
  }
  .admin-member-detail .linked-label { grid-column: 5; grid-row: 40; }
  .admin-member-detail .linked-field { grid-column: 5; grid-row: 41 / span 3; }

  .admin-member-detail .admin-reminder-radios {
    display: flex;
    align-items: center;
    gap: 8px;
    width: 158px;
    height: 21px;
    min-height: 0;
  }

  .admin-member-detail .admin-reminder-radios label {
    display: inline-flex;
    width: auto;
    min-width: 0;
    min-height: 0;
    height: 21px;
    align-items: center;
    gap: 3px;
    padding: 0;
    line-height: 21px;
  }

  .admin-member-detail .admin-reminder-radios input[type="radio"] {
    width: 13px;
    height: 13px;
    min-width: 13px;
    min-height: 13px;
    margin: 0;
    padding: 0;
  }

  .admin-member-detail .member-credit-line {
    display: block;
    width: 158px;
    min-height: 0;
    line-height: 21px;
  }

  .admin-member-detail .member-credit-line span,
  .admin-member-detail .member-credit-line strong {
    display: block;
    white-space: normal;
  }

  .admin-member-detail .session-field,
  .admin-member-detail .workshop-field {
    display: grid;
    gap: 5px;
  }

  .admin-member-detail .member-history-actions {
    margin-top: 24px;
    margin-left: 12px;
    margin-bottom: 52px;
  }

  .admin-member-detail .member-detail-actions {
    flex-wrap: wrap;
    justify-content: center;
    width: 260px;
    margin-left: 65px;
  }

  .member-detail.admin-member-detail h3 {
    width: 366px;
    margin-left: 12px;
  }
}

/* FINAL EOF LOCK: admin member + modals must never start above viewport. */
.modal-backdrop:has(.member-add-reservation-modal),
.modal-backdrop:has(.member-add-note-events-modal) {
  align-items: flex-start !important;
  justify-content: center !important;
  padding-top: 28px !important;
  padding-bottom: 28px !important;
  overflow: auto !important;
}

.member-add-reservation-modal,
.member-add-note-events-modal {
  display: flex !important;
  flex-direction: column !important;
  max-height: calc(100dvh - 56px) !important;
  overflow: hidden !important;
}

.member-add-reservation-modal .modal-header,
.member-add-note-events-modal .modal-header {
  flex: 0 0 auto !important;
}

.member-add-reservation-modal .modal-body,
.member-add-note-events-modal .modal-body {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  overflow: auto !important;
}

.member-add-reservation-modal .admin-member-source-rgpd,
.member-add-note-events-modal .admin-member-source-rgpd {
  flex: 0 0 auto !important;
}

/* Authoritative final override for admin member plus actions.
   This must remain the last block because earlier admin/intervenant member
   rules are intentionally source-specific and otherwise win the cascade. */
@media (min-width: 701px) {
  .admin-member-detail .member-detail-grid {
    grid-template-columns: 150px 12px 210px 12px 96px 12px 160px 42px 150px 300px 8px 200px;
    overflow: visible;
  }

  .admin-member-detail .member-profile-copy {
    grid-column: 10;
    grid-row: 4;
    width: 300px;
    max-width: 300px;
    min-width: 0;
    overflow: hidden;
    transform: none;
  }

  .admin-member-detail .member-profile-select {
    width: 300px;
    max-width: 300px;
    min-width: 0;
  }

  .admin-member-detail .admin-role-label {
    display: none;
  }

  .admin-member-detail .admin-role-field {
    grid-column: 12;
    grid-row: 4;
    width: 200px;
    max-width: 200px;
    min-width: 0;
    justify-self: start;
    transform: none;
  }

  .admin-member-detail .registered-field,
  .admin-member-detail .membership-field,
  .admin-member-detail .reminder-field,
  .admin-member-detail .euro-field,
  .admin-member-detail .credits-field,
  .admin-member-detail .session-field,
  .admin-member-detail .workshop-field,
  .admin-member-detail .credit-value-field,
  .admin-member-detail .linked-field {
    grid-column: 10 / 13;
    min-width: 0;
    max-width: 508px;
  }
}

.admin-member-detail .admin-member-dependent-plus,
.admin-member-detail .member-history-plus,
.source-green-plus {
  position: relative !important;
  z-index: 200 !important;
  display: inline-flex !important;
  width: 22px !important;
  height: 22px !important;
  min-width: 22px !important;
  min-height: 22px !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 50% !important;
  background: transparent !important;
  color: #fff !important;
  font-size: 0 !important;
  line-height: 22px !important;
  cursor: pointer !important;
  pointer-events: auto !important;
  overflow: visible !important;
}

.admin-member-detail .admin-member-dependent-plus::before,
.admin-member-detail .member-history-plus::before,
.source-green-plus::before {
  display: none !important;
  content: "" !important;
}

.admin-member-detail .admin-member-dependent-plus::after,
.admin-member-detail .member-history-plus::after,
.source-green-plus::after {
  content: "";
  position: absolute;
  inset: -9px;
  border-radius: 50%;
  background: transparent;
}

.admin-member-detail .admin-member-dependent-plus > span,
.admin-member-detail .member-history-plus > span,
.source-green-plus > span {
  position: relative;
  z-index: 1;
  display: inline-flex;
  width: 22px;
  height: 22px;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: #28a745;
  color: #fff;
  font-family: Arial, sans-serif;
  font-size: 20px;
  font-weight: 700;
  line-height: 18px;
}

.admin-member-event-full {
  color: #6b6b6b;
}

.source-green-plus.source-green-plus-disabled {
  cursor: default !important;
  pointer-events: none !important;
}

.source-green-plus.source-green-plus-disabled > span {
  background: #8f8f8f;
  color: #fff;
}

.event-full-label {
  color: #555;
  font-weight: 700;
}

.admin-member-detail .member-history-plus-reservation,
.admin-member-detail .member-history-plus-note {
  margin-left: 4px !important;
  margin-right: 16px !important;
  vertical-align: middle !important;
}

.admin-member-detail .membership-plus {
  justify-self: start;
  transform: translateY(-2px) !important;
}

.admin-member-detail .euro-plus,
.admin-member-detail .credits-plus {
  justify-self: start;
  transform: translate(96px, 5px) !important;
}

.admin-member-detail .member-history-actions {
  isolation: isolate;
}

.member-add-reservation-modal,
.member-add-note-events-modal {
  width: min(1140px, calc(100vw - 56px));
  max-height: calc(100dvh - 56px);
  padding: 0;
  overflow: auto;
  border: 1px solid rgba(0, 0, 0, 0.2);
  border-radius: 4.8px;
  box-shadow: none;
}

.member-add-reservation-modal .modal-header,
.member-add-note-events-modal .modal-header,
.member-add-note-modal .modal-header,
.admin-member-add-membership-modal .modal-header,
.admin-member-add-euro-credit-modal .modal-header,
.admin-member-add-member-credit-modal .modal-header {
  display: flex;
  min-height: 50px;
  align-items: center;
  justify-content: space-between;
  padding: 11px 16px;
  border-bottom: 1px solid #dee2e6;
}

.member-add-reservation-modal .modal-title,
.member-add-note-events-modal .modal-title,
.member-add-note-modal .modal-title,
.admin-member-add-membership-modal .modal-title,
.admin-member-add-euro-credit-modal .modal-title,
.admin-member-add-member-credit-modal .modal-title {
  margin: 0;
  color: #535353;
  font-size: 18px;
  font-weight: 400;
  line-height: 27px;
}

.member-add-reservation-modal .btn-close,
.member-add-note-events-modal .btn-close,
.member-add-note-modal .btn-close,
.admin-member-add-membership-modal .btn-close,
.admin-member-add-euro-credit-modal .btn-close,
.admin-member-add-member-credit-modal .btn-close {
  position: static;
  display: inline-flex;
  width: 30px;
  height: 30px;
  min-height: 30px;
  align-items: center;
  justify-content: center;
  padding: 0;
  border: 0;
  background: transparent;
  color: #000;
  font-size: 32px;
  font-weight: 300;
  line-height: 30px;
}

.admin-member-source-search {
  display: grid;
  grid-template-columns: 180px 1fr 58px 70px;
  align-items: center;
  margin: 16px;
}

.admin-member-source-search label {
  color: #535353;
  font-size: 14px;
  line-height: 21px;
}

.admin-member-source-search input {
  height: 40px;
  min-height: 40px;
  border: 1px solid #ced4da;
  border-radius: 0;
  padding: 6px 12px;
  color: #212529;
  font-size: 14px;
  line-height: 24px;
}

.admin-member-source-search .btn {
  height: 40px;
  min-height: 40px;
  border-radius: 0;
  font-size: 12px;
  font-weight: 700;
}

.admin-member-source-search .razevent {
  border-radius: 0 4px 4px 0;
}

.admin-member-source-table {
  width: calc(100% - 32px);
  margin: 0 16px 18px;
  border-collapse: collapse;
  color: #535353;
  font-size: 14px;
}

.admin-member-source-table th {
  padding: 11px 8px;
  border-bottom: 1px solid #dee2e6;
  background: #fff;
  color: #212529;
  font-size: 16px;
  font-weight: 700;
  text-align: left;
}

.admin-member-source-table td {
  padding: 10px 8px;
  border-top: 1px solid #dee2e6;
  background: #f2f2f2;
  vertical-align: top;
}

.admin-member-source-table tr:nth-child(even) td {
  background: #fff;
}

.admin-member-add-booking-table th:first-child,
.admin-member-add-booking-table td:first-child {
  width: 38px;
  text-align: center;
}

.source-note-icon {
  display: inline-block;
  width: 22px;
  height: 22px;
  border: 0;
  background: transparent;
  color: #535353;
  cursor: pointer;
}

.source-note-icon::before {
  content: "\270E";
  font-size: 18px;
  line-height: 22px;
}

.admin-member-source-rgpd {
  margin: 8px 16px 16px;
  color: #535353;
  font-size: 13px;
  line-height: 20px;
  text-align: center;
}

.member-add-note-modal,
.admin-member-add-membership-modal,
.admin-member-add-euro-credit-modal,
.admin-member-add-member-credit-modal {
  width: min(560px, calc(100vw - 56px));
  max-height: calc(100dvh - 56px);
  padding: 0;
  overflow: auto;
  border: 1px solid rgba(0, 0, 0, 0.2);
  border-radius: 4.8px;
  box-shadow: none;
}

.admin-member-note-editor-source,
.admin-member-dependent-source {
  display: grid;
  grid-template-columns: 190px 1fr;
  gap: 10px;
  padding: 16px;
  color: #535353;
  font-size: 14px;
  line-height: 21px;
}

.admin-member-note-editor-source .info {
  grid-column: 1 / -1;
  margin-bottom: 6px;
}

.admin-member-note-editor-source textarea {
  grid-column: 1 / -1;
  width: 100%;
  min-height: 110px;
  padding: 6px 12px;
  border: 1px solid #ced4da;
  border-radius: 3.2px;
  color: #212529;
  font-size: 14px;
  line-height: 21px;
}

.admin-member-dependent-source input {
  height: 31px;
  min-height: 31px;
}

.admin-member-source-footer {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  padding: 8px 12px;
  border-top: 1px solid #dee2e6;
}

.admin-member-source-footer .btn {
  min-height: 38px;
  padding: 6px 12px;
  border-radius: 4px;
  color: #fff;
  font-size: 16px;
  line-height: 24px;
}

.admin-member-source-footer .btn-secondary {
  border-color: #6c757d;
  background: #6c757d;
}
/* EOF mobile admin member safety override. This block intentionally comes
   after every imported/source-specific member rule and only neutralizes
   measured overlap defects on the admin member detail mobile layout. */
@media (max-width: 700px) {
  .admin-member-detail .member-edit-form {
    overflow: visible !important;
  }

  .admin-member-detail .member-detail-grid {
    height: 1030px !important;
    min-height: 1030px !important;
    max-height: 1030px !important;
    overflow: visible !important;
  }

  .admin-member-detail .member-profile-label {
    grid-column: 5 !important;
    grid-row: 10 !important;
    transform: translateY(-129px) !important;
  }

  .admin-member-detail .member-profile-copy,
  .admin-member-detail .member-profile-select {
    grid-column: 5 !important;
    grid-row: 11 !important;
    width: 158px !important;
    max-width: 158px !important;
    transform: translateY(-114px) !important;
  }

  .admin-member-detail .admin-role-label {
    display: block !important;
    grid-column: 5 !important;
    grid-row: 12 !important;
    transform: translateY(-105px) !important;
  }

  .admin-member-detail .admin-role-field {
    grid-column: 5 !important;
    grid-row: 13 !important;
    width: 158px !important;
    max-width: 158px !important;
    transform: translateY(-105px) !important;
  }

  .admin-member-detail .registered-label { transform: translateY(-72px) !important; }
  .admin-member-detail .registered-field { transform: translateY(-72px) !important; }
  .admin-member-detail .membership-label { transform: translateY(-72px) !important; }
  .admin-member-detail .membership-field { transform: translateY(-72px) !important; }
  .admin-member-detail .membership-plus { transform: translateY(-74px) !important; }
  .admin-member-detail .reminder-label { transform: translateY(-120px) !important; }
  .admin-member-detail .reminder-field { transform: translateY(-120px) !important; }
  .admin-member-detail .euro-label { transform: translateY(-110px) !important; }
  .admin-member-detail .euro-field { transform: translateY(-110px) !important; }
  .admin-member-detail .credits-label { transform: translateY(-97px) !important; }
  .admin-member-detail .credits-field { transform: translateY(-97px) !important; }
  .admin-member-detail .session-field { transform: translateY(-285px) !important; }
  .admin-member-detail .workshop-field { transform: translateY(-285px) !important; }
  .admin-member-detail .credit-value-label { transform: translateY(-285px) !important; }
  .admin-member-detail .credit-value-field { transform: translateY(-285px) !important; }
  .admin-member-detail .linked-label { transform: translateY(-285px) !important; }
  .admin-member-detail .linked-field { transform: translateY(-285px) !important; }

  .admin-member-detail .origin-label { grid-column: 1 !important; grid-row: 28 !important; }
  .admin-member-detail .origin-field { grid-column: 1 !important; grid-row: 29 !important; }
  .admin-member-detail .comments-label {
    grid-column: 1 !important;
    grid-row: 30 !important;
    transform: translateY(-114px) !important;
  }
  .admin-member-detail .comments-field {
    grid-column: 1 !important;
    grid-row: 31 / span 2 !important;
    transform: translateY(-114px) !important;
  }

  .admin-member-detail .membership-plus {
    grid-column: 5 !important;
    grid-row: 18 !important;
  }

  .admin-member-detail .euro-plus {
    grid-column: 5 !important;
    grid-row: 24 !important;
    transform: translate(96px, -110px) !important;
  }

  .admin-member-detail .credits-plus {
    grid-column: 5 !important;
    grid-row: 27 !important;
    transform: translate(96px, -145px) !important;
  }

  .admin-member-detail .member-history-actions {
    margin-top: 18px !important;
    margin-bottom: 32px !important;
  }
}

/* Final admin member detail guard: keep actionable plus controls and stacked
   fields out of measured label/control overlap zones after earlier source-like
   transforms. */
.admin-member-detail .euro-label,
.admin-member-detail .credits-label {
  width: 124px !important;
  max-width: 124px !important;
}

.admin-member-detail .euro-plus,
.admin-member-detail .credits-plus {
  transform: translate(128px, 5px) !important;
}

.admin-member-detail .euro-field,
.admin-member-detail .credits-field {
  padding-left: 28px !important;
}

@media (max-width: 700px) {
  .admin-member-detail .member-detail-grid {
    height: 1210px !important;
    min-height: 1210px !important;
    max-height: 1210px !important;
  }

  .admin-member-detail .euro-label,
  .admin-member-detail .credits-label {
    width: 124px !important;
    max-width: 124px !important;
  }

  .admin-member-detail .reminder-field {
    transform: translateY(-88px) !important;
  }

  .admin-member-detail .origin-field {
    grid-column: 1 !important;
    grid-row: 29 !important;
    transform: none !important;
  }

  .admin-member-detail .comments-label {
    grid-column: 1 !important;
    grid-row: 31 !important;
    transform: none !important;
  }

  .admin-member-detail .comments-field {
    grid-column: 1 !important;
    grid-row: 32 / span 2 !important;
    transform: none !important;
  }

  .admin-member-detail .euro-plus {
    transform: translate(128px, -110px) !important;
  }

  .admin-member-detail .credits-plus {
    transform: translate(128px, -97px) !important;
  }
}

/* EOF desktop-narrow lock: the visible Codex browser can land between tablet
   and full desktop widths. In that band the source-like grid clips the admin
   role/profile controls, so this stacks them while preserving the contract. */
@media (min-width: 701px) and (max-width: 1420px) {
  .admin-topbar {
    box-sizing: border-box !important;
  }

  .admin-home-link {
    margin-left: 72px !important;
  }

  .admin-member-detail.container {
    width: calc(100vw - 80px) !important;
    max-width: calc(100vw - 80px) !important;
  }

  .admin-member-detail .member-detail-grid {
    grid-template-columns:
      130px 8px minmax(160px, 180px) 8px 70px 8px minmax(120px, 145px)
      24px 115px minmax(140px, 1fr) 8px minmax(120px, 145px) !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow: visible !important;
    background: none !important;
  }

  .admin-member-detail .member-detail-grid::before {
    display: none !important;
  }

  .admin-member-detail .first-field,
  .admin-member-detail .last-field,
  .admin-member-detail .admin-birth-field,
  .admin-member-detail .phone-field,
  .admin-member-detail .address-field,
  .admin-member-detail .civility-field,
  .admin-member-detail .profile-field,
  .admin-member-detail .origin-field,
  .admin-member-detail .comments-field {
    min-width: 0 !important;
    width: auto !important;
  }

  .admin-member-detail .mapping-field,
  .admin-member-detail .email-field,
  .admin-member-detail .postcode-field,
  .admin-member-detail .city-field,
  .admin-member-detail .member-profile-select,
  .admin-member-detail .admin-role-field {
    min-width: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    transform: none !important;
  }

  .admin-member-detail .city-label {
    width: auto !important;
    transform: none !important;
  }

  .admin-member-detail .member-profile-label {
    grid-column: 9 !important;
    grid-row: 4 !important;
  }

  .admin-member-detail .member-profile-copy {
    grid-column: 10 / 13 !important;
    grid-row: 4 !important;
    width: auto !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow: visible !important;
  }

  .admin-member-detail .admin-role-label {
    display: block !important;
    grid-column: 9 !important;
    grid-row: 5 !important;
  }

  .admin-member-detail .admin-role-field {
    grid-column: 10 / 13 !important;
    grid-row: 5 !important;
    justify-self: stretch !important;
  }

  .admin-member-detail .member-photo-box,
  .admin-member-detail .admin-photo-box {
    width: 100% !important;
    max-width: 100% !important;
  }

  .admin-member-detail .admin-photo-input {
    left: 0 !important;
    width: min(220px, 100%) !important;
    max-width: 100% !important;
  }

  .admin-member-detail .registered-field,
  .admin-member-detail .membership-field,
  .admin-member-detail .reminder-field,
  .admin-member-detail .euro-field,
  .admin-member-detail .credits-field,
  .admin-member-detail .session-field,
  .admin-member-detail .workshop-field,
  .admin-member-detail .credit-value-field,
  .admin-member-detail .linked-field {
    grid-column: 10 / 13 !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: 100% !important;
    overflow-wrap: anywhere !important;
  }

  .admin-member-detail .session-field,
  .admin-member-detail .workshop-field {
    display: grid !important;
    grid-template-columns: minmax(95px, 1fr) minmax(70px, 120px) !important;
    align-items: center !important;
    gap: 8px !important;
  }

  .admin-member-detail .session-field select,
  .admin-member-detail .workshop-field select {
    width: 100% !important;
    min-width: 0 !important;
  }

  .admin-member-detail .credit-value-field {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
  }

  .admin-member-detail .credit-value-field input {
    flex: 0 0 90px !important;
    width: 90px !important;
    min-width: 0 !important;
  }
}
