:root {
  --bs-font-sans-serif: "Inter Tight", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, "Helvetica Neue", arial, sans-serif;
  --bs-success: #84cc16;
  --bs-success-rgb: 132, 204, 22;
  --bs-green: #84cc16;
  --bs-info: #ca8a04;
  --bs-info-rgb: 202, 138, 4;
}

[data-bs-theme=light] {
  --bs-body-bg: #eaeceb;
  --bs-body-bg-rgb: 234, 236, 235;
  --bs-success-text-emphasis: #14532d;
  --bs-success-bg-subtle: #f7fee7;
  --bs-success-border-subtle: #d9f99d;
  --bs-info-text-emphasis: #92400e;
  --bs-info-bg-subtle: #fde68a;
  --bs-info-border-subtle: #fcd34d;
}

[data-bs-theme=dark] {
  --bs-primary: #f5f5f5;
  --bs-primary-rgb: 245, 245, 245;
  --bs-primary-text-emphasis: #f5f5f5;
  --bs-primary-bg-subtle: #2e2e30;
  --bs-primary-border-subtle: #525255;
  --bs-primary-contrast: #1a1a1c;
  --bs-base-color: #e8e8e8;
  --bs-paper-bg: #1a1a1c;
  --bs-black: #1a1a1c;
  --bs-body-bg: #111113;
  --bs-body-bg-rgb: 17, 17, 19;
  --bs-body-color: #b5b5b8;
  --bs-body-color-rgb: 181, 181, 184;
  --bs-heading-color: #e8e8ea;
  --bs-secondary-color: #6b6b6e;
  --bs-secondary-color-rgb: 107, 107, 110;
  --bs-secondary-bg: #6b6b6e;
  --bs-tertiary-bg: #2a2a2c;
  --bs-border-color: #333336;
  --bs-link-color: #f5f5f5;
  --bs-link-hover-color: #fff;
  --bs-link-color-rgb: 245, 245, 245;
  --bs-link-hover-color-rgb: 255, 255, 255;
  --bs-dark-text-emphasis: #e8e8e8;
  --bs-gray-25: #222224;
  --bs-gray-50: #2a2a2c;
  --bs-gray-75: #2e2e30;
  --bs-gray-100: #3a3a3c;
  --bs-gray-200: #333336;
  --bs-gray-300: #525255;
  --bs-gray-400: #6b6b6e;
  --bs-gray-500: #8a8a8d;
  --bs-gray-600: #9a9a9d;
  --bs-gray-700: #b5b5b8;
  --bs-gray-800: #cfcfd2;
  --bs-gray-900: #e8e8ea;
  --bs-success-text-emphasis: #bef264;
  --bs-success-bg-subtle: #2f3d1a;
  --bs-success-border-subtle: #4d7c0f;
  --bs-info-text-emphasis: #fde68a;
  --bs-info-bg-subtle: #3d3010;
  --bs-info-border-subtle: #a16207;
}
img {
  width: 100%;
}
body {
  font-family: var(--bs-font-sans-serif);
}
button.btn {
  box-shadow: none;
}

.authentication-wrapper .card {
  --bs-card-border-radius: 32px;
  --bs-card-inner-border-radius: 32px;
}
.card {
  --bs-card-border-radius: 20px;
  --bs-card-inner-border-radius: 20px;
  box-shadow: none;

}
.menu .app-brand.demo span.app-brand-logo img {
  max-width: 130px;
}
.menu {
  --bs-menu-active-color: #fff;
}
.menu-item.active > .menu-link:not(.menu-toggle),
.menu.menu-horizontal .menu-inner > .menu-item.active > .menu-link.menu-toggle {
  background: #333 !important;
  box-shadow: none !important;
  color: #fff;
}
.menu-item.active > .menu-link:not(.menu-toggle) i,
.menu-item.active > .menu-link:not(.menu-toggle) .icon-base {
  color: #fff !important;
}
.drag-target {
  display: none !important;
  pointer-events: none !important;
}

.nav-pills {
  --bs-nav-pills-link-active-color: var(--bs-primary-contrast);
}
.nav-pills .nav-link.active,
.nav-pills .show > .nav-link {
  box-shadow: none !important;
  color: var(--bs-primary-contrast);
}
.account-tabs {
  flex-direction: row;
  flex-wrap: nowrap;
  max-width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: thin;
}
.account-tabs .nav-item {
  flex: 0 0 auto;
  width: max-content;
}
.account-tabs .nav-link {
  width: max-content;
  margin-inline-end: 0;
  padding-inline: 0.5rem;
  inline-size: max-content;
}
@media (max-width: 767.98px) {
  .account-pref-table {
    overflow: visible;
  }
  .account-pref-table .table {
    margin-bottom: 0;
  }
  .account-pref-table thead {
    display: none;
  }
  .account-pref-table tbody tr {
    display: flex;
    flex-wrap: wrap;
    padding-block: 0.75rem;
    border-bottom: 1px solid var(--bs-border-color);
  }
  .account-pref-table tbody tr:last-child {
    border-bottom: 0;
  }
  .account-pref-table.table-responsive .table td {
    padding: 0;
    border: 0;
    text-align: start !important;
    white-space: normal;
  }
  .account-pref-table td:first-child {
    flex: 1 1 100%;
    margin-bottom: 0.5rem;
  }
  .account-pref-table td[data-label] {
    display: flex;
    flex: 1 1 0;
    flex-direction: column;
    align-items: center;
    gap: 0.25rem;
  }
  .account-pref-table td[data-label]::before {
    color: var(--bs-secondary-color);
    content: attr(data-label);
    font-size: 0.75rem;
  }
  .coordinator-role-select-all td:first-child {
    display: none;
  }
  .coordinator-role-select-all td:last-child {
    flex: 1 1 100%;
    margin-bottom: 0;
  }
}

.pagination {
  --bs-pagination-active-color: var(--bs-primary-contrast);
  --bs-pagination-box-shadow-color: transparent;
}
.page-item.active .page-link,
.pagination li.active > a:not(.page-link) {
  box-shadow: none !important;
  color: var(--bs-primary-contrast);
}
.planify-pagination .page-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
[data-bs-theme=dark] .planify-brand-logo {
  filter: invert(1);
}
.authentication-wrapper .planify-brand-logo {
  display: block;
  width: auto;
  height: auto;
  max-width: 100%;
  aspect-ratio: auto;
  width: 100%;
  margin-bottom: 50px;
}

.authentication-wrapper .app-brand-logo .planify-brand-logo {
  max-width: 200px;
}
table.table.dataTable>tbody>tr.group, table.table.dataTable>tbody>tr.group:hover {
  background-color: #f1f1f1;
}
[data-bs-theme=dark] table.table.dataTable>tbody>tr.group,
[data-bs-theme=dark] table.table.dataTable>tbody>tr.group:hover {
  background-color: var(--bs-gray-100);
}
table.table.dataTable>tbody>tr.group > .dept-group-cell {
  padding-block: 0.75rem;
}
.dept-group-row {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 0.75rem;
  min-width: 0;
}
.dept-group-row__header {
  display: contents;
}
.dept-group-row__name {
  font-weight: 600;
  color: var(--bs-heading-color);
  min-width: 0;
  line-height: 1.3;
  margin-inline-end: auto;
}
.dept-group-row__actions {
  display: flex;
  align-items: center;
  flex-shrink: 0;
  order: 3;
}
.dept-group-row__coordinators {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 0.375rem;
  order: 2;
}
tr.group .badge.dept-group-row__badge {
  font-weight: 500;
  background-color: #fff !important;
  color: var(--bs-body-color) !important;
}
tr.group .badge.dept-group-row__badge i {
  color: inherit !important;
}
tr.group .dept-group-row .btn-assign-coordinator {
  color: var(--bs-body-color) !important;
}
@media (max-width: 767.98px) {
  .dept-group-row {
    flex-direction: column;
    align-items: stretch;
    gap: 0.5rem;
  }
  .dept-group-row__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
  }
  .dept-group-row__name {
    margin-inline-end: 0;
  }
  .dept-group-row__actions,
  .dept-group-row__coordinators {
    order: unset;
  }
  .dept-group-row__coordinators {
    justify-content: flex-start;
  }
}
table.dataTable > tbody > tr.child > td.child {
  padding: 0.75rem 0.625rem !important;
  white-space: normal;
}
table.dataTable > tbody > tr.child ul.dtr-details {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  width: 100%;
}
table.dataTable > tbody > tr.child ul.dtr-details > li {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 0;
  border-bottom: none;
  text-align: start !important;
}
table.dataTable > tbody > tr.child span.dtr-title {
  min-width: 0;
  font-weight: 600;
  color: var(--bs-heading-color);
}
table.dataTable > tbody > tr.child span.dtr-data {
  margin-inline-start: auto;
}
table.dataTable > tbody > tr.child ul.dtr-details > li:has(.labeled-dropdown-label) > .dtr-title {
  display: none;
}
table.dataTable > tbody > tr.child ul.dtr-details:has(> li:nth-child(2):last-child) {
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
}
[data-bs-theme=dark] .table tbody a:not(.btn) {
  color: #fff;
}
.card .table-responsive .table > :not(caption) > tbody > tr:last-child > * {
  border-bottom-width: 0;
}
div.dt-container div.dt-layout-full {
  width: 100%;
  padding: 0;
}
div.dt-container .row {
  --bs-gutter-y: 0;
}
div.dt-container .row.mt-2,
div.dt-container .dt-layout-start,
div.dt-container .dt-layout-end {
  margin-top: 0 !important;
}
div.dt-container .card-header {
  flex-direction: row !important;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
}
div.dt-container .card-header > .dt-layout-start,
div.dt-container .card-header > .dt-layout-end {
  width: auto;
  max-width: none;
}
div.dt-container .card-header > .dt-layout-end {
  flex: 0 0 auto;
  margin-inline-start: auto;
}
div.dt-container .card-header .card-title {
  text-align: start !important;
  padding-bottom: 0 !important;
}
div.dt-container .card-header .dt-buttons .btn {
  padding: 0.25rem 0.65rem;
  font-size: 0.8125rem;
}
div.dt-container .row:has(.dt-search):has(.dt-length) {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  padding-block: 0.5rem;
  padding-inline: 1rem;
}
div.dt-container .row:has(.dt-search):has(.dt-length) > * {
  width: auto;
  max-width: none;
  flex-shrink: 1;
}
div.dt-container .row:has(.dt-search):has(.dt-length) > .dt-layout-start {
  flex: 1 1 auto;
  min-width: 0;
}
div.dt-container .row:has(.dt-search):has(.dt-length) > .dt-layout-end {
  flex: 0 0 auto;
}
div.dt-container div.dt-search {
  width: 100%;
  display: flex;
  align-items: center;
}
div.dt-container div.dt-search input {
  width: 100% !important;
  margin-inline: 0 !important;
}
div.dt-container div.dt-length,
div.dt-container div.dt-search {
  margin-block: 0.75rem;
}
div.dt-container div.dt-length > label,
div.dt-container div.dt-search > label {
  display: none;
}
div.dt-container div.dt-length select {
  margin-inline: 0;
  min-width: 4.25rem;
}
.datatables-departments th.dt-select,
.datatables-departments td.dt-select {
  width: 70px !important;
  max-width: 70px !important;
  text-align: center;
  vertical-align: middle;
}
.datatables-departments th.dept-col-position,
.datatables-departments td.dept-col-position {
  width: 15%;
  white-space: nowrap;
}
.datatables-departments th.dept-col-count,
.datatables-departments td.dept-col-count {
  width: 10rem;
}
.datatables-departments th.dept-col-members,
.datatables-departments td.dept-col-members {
  white-space: nowrap;
}
@media (max-width: 767.98px) {
  .datatables-departments th.dept-col-members,
  .datatables-departments td.dept-col-members {
    width: 8.5rem;
    min-width: 8.5rem;
  }
}
@media (min-width: 768px) {
  .datatables-departments th.dept-col-members,
  .datatables-departments td.dept-col-members {
    width: 16rem;
    min-width: 16rem;
  }
}
.datatables-departments .dept-count-cell {
  min-width: 4.5rem;
}
.bg-label-success,
.badge.bg-label-success,
.btn-label-success,
.text-success,
.alert-success {
  color: var(--bs-success-text-emphasis) !important;
}
.btn-label-success:hover,
.btn-label-success:focus {
  color: var(--bs-success-text-emphasis) !important;
}
#event-form .form-control,
#event-form .form-select {
  max-width: 22rem;
}
#event-form #event-name {
  max-width: 28rem;
}
#event-form #event-start-date,
#event-form #event-end-date {
  max-width: 11rem;
}
#event-form #event-start-time,
#event-form #event-end-time,
#event-form #event-recurring-start-time,
#event-form #event-recurring-end-time {
  max-width: 7rem;
}
#event-form #event-invite-hours-before,
#event-form #event-reminder-hours-before,
#event-form #event-final-reminder-hours-before,
#event-form #event-cover-wait-value,
#event-form #event-admin-summary-hours,
#event-form #event-min-volunteers,
#event-form #event-max-volunteers,
#event-form #recurrence-day,
#event-form #recurrence-offset {
  max-width: 8rem;
}
#event-form #event-open-call-departments,
#event-form #event-open-call-positions,
#event-form #event-open-call-departments + .tagify,
#event-form #event-open-call-positions + .tagify {
  max-width: 28rem;
}
#event-form .select2-container {
  max-width: 22rem;
}
#event-form .position-row .select2-container {
  max-width: none;
  width: 100% !important;
}
.position-row-layout {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 0.5rem;
}
.position-row-select {
  min-width: 0;
  width: 100%;
}
.position-row-tools {
  display: flex;
  align-items: flex-end;
  gap: 0.5rem;
}
.position-row-tools .btn-icon {
  flex-shrink: 0;
  width: 38px;
  height: 38px;
  min-width: 38px;
  padding: 0;
}
@media (min-width: 768px) {
  .position-row-layout {
    flex-direction: row;
    align-items: flex-end;
  }
  .position-row-select {
    flex: 1 1 auto;
  }
  #event-form .position-row .select2-container {
    max-width: 16rem;
  }
}
#event-form .cover-wait-input-group {
  max-width: 16rem;
}
#event-form .event-offset-input-group,
#event-form .event-offset-input-group:focus-within {
  box-shadow: none;
}
#event-form .event-offset-input-group::before {
  display: none;
}
#event-form .event-offset-input-group > .form-control {
  border-inline-end-width: var(--bs-border-width);
  border-inline-end-style: solid;
  z-index: 1;
}
#event-form .event-offset-input-group > .input-group-text {
  margin-inline-start: 0;
  border-inline-start-width: 0;
}
#event-form .event-offset-input-group:focus-within > .form-control,
#event-form .event-offset-input-group:focus-within > .input-group-text {
  box-shadow: none;
}
#event-form .custom-option-icon .custom-option-body small.text-body-secondary {
  font-style: italic;
}
#event-form .custom-option.custom-option-icon .custom-option-content {
  padding: 1.067em;
  text-align: left;
}
#event-form .custom-option.custom-option-icon .custom-option-body .icon-base {
  margin-left: 0;
}
#event-form .custom-option.custom-option-icon .form-check-input {
  display: none;
}
#event-form .custom-option.custom-option-icon .custom-option-body {
  margin-block-end: 0;
}
#event-form #position-rows {
  max-width: 28rem;
}
#event-form .position-row-qty {
  flex: 0 0 3.5rem;
  width: 3.5rem;
}
#event-form .position-row-qty .form-control {
  padding-inline: 0.25rem;
  text-align: center;
  appearance: textfield;
}
#event-form .position-row-qty .form-control::-webkit-inner-spin-button,
#event-form .position-row-qty .form-control::-webkit-outer-spin-button {
  appearance: none;
  margin: 0;
}
#event-form .position-row .btn-remove-position-row {
  flex-shrink: 0;
}
#calendar-occurrence-edit-modal .occurrence-position-qty {
  flex: 0 0 4rem;
  width: 4rem;
}
#calendar-occurrence-edit-modal .occurrence-position-qty .form-control {
  padding-inline: 0.25rem;
  text-align: center;
  appearance: textfield;
}
#calendar-occurrence-edit-modal .occurrence-position-qty .form-control::-webkit-inner-spin-button,
#calendar-occurrence-edit-modal .occurrence-position-qty .form-control::-webkit-outer-spin-button {
  appearance: none;
  margin: 0;
}
#calendar-occurrence-edit-modal .occurrence-remove-position {
  flex-shrink: 0;
}
#event-form #cover-wait-hours-panel .cover-wait-input-group,
#event-form #cover-wait-hours-panel .cover-wait-input-group:focus-within {
  box-shadow: none;
}
#event-form #cover-wait-hours-panel .cover-wait-input-group::before {
  display: none;
}
#event-form #cover-wait-hours-panel .cover-wait-input-group > .form-control {
  border-inline-end-width: var(--bs-border-width);
  border-inline-end-style: solid;
  z-index: 1;
}
#event-form #cover-wait-hours-panel .cover-wait-input-group > .form-select {
  flex: 0 0 auto;
  width: auto;
  min-width: 7.25rem;
  margin-inline-start: 0;
  border-inline-start-width: 0;
}
#event-form #cover-wait-hours-panel .cover-wait-input-group:focus-within > .form-select,
#event-form #cover-wait-hours-panel .cover-wait-input-group:focus-within > .form-control {
  box-shadow: none;
}
#event-form #reminder-hours-wrap > .row,
#event-form #event-notifications > .row {
  align-items: stretch;
}
@media (max-width: 767.98px) {
  #event-form .row.g-4 {
    --bs-gutter-x: 0.75rem;
    --bs-gutter-y: 0.75rem;
  }
  #event-form .row.g-3 {
    --bs-gutter-x: 0.5rem;
    --bs-gutter-y: 0.5rem;
  }
  #event-form .form-label {
    margin-bottom: 0.25rem;
  }
  #event-form .custom-option.custom-option-icon .custom-option-content {
    padding: 0.625rem 0.75rem;
  }
  #event-form .custom-option.custom-option-icon .custom-option-body .icon-base {
    margin-block-end: 0.25rem;
    font-size: 1.25rem;
    block-size: 1.25rem;
    inline-size: 1.25rem;
  }
  #event-form .custom-option.custom-option-icon .custom-option-body .custom-option-title {
    margin-block-end: 0.25rem;
    font-size: 0.875rem;
  }
  #event-form .custom-option.custom-option-icon .custom-option-body small {
    font-size: 0.75rem;
    line-height: 1.3;
  }
  #event-form .border.rounded.p-3 {
    padding: 0.75rem !important;
  }
}
.select2-dropdown { max-width: 100vw !important; }
.tagify.is-invalid,
.is-invalid + .tagify {
  --tags-border-color: var(--bs-form-invalid-border-color);
  --tags-hover-border-color: var(--bs-form-invalid-border-color);
  border-color: var(--bs-form-invalid-border-color) !important;
}
body { overflow-x: hidden !important; }

.planify-calendar .fc-header-toolbar {
  flex-wrap: wrap;
  gap: 0.75rem;
}
.planify-calendar .calendar-toolbar-actions {
  flex-shrink: 0;
}
.planify-calendar .calendar-view-dropdown {
  display: none;
}
@media (max-width: 767.98px) {
  .planify-calendar .fc-header-toolbar .fc-toolbar-chunk:last-child > .fc-button-group {
    display: none;
  }
  .planify-calendar .calendar-view-dropdown {
    display: inline-flex;
  }
  .planify-calendar .calendar-toolbar-actions {
    flex-wrap: wrap;
    gap: 0.375rem;
    margin-inline-start: 0;
  }
  .planify-calendar #calendar-toolbar-actions .btn {
    min-height: 0;
    padding-inline: 0.625rem;
    padding-block: 0.5rem;
    font-size: 0.8125rem;
  }
  .planify-calendar .calendar-toolbar-actions .btn .icon-base {
    font-size: 0.9375rem;
    block-size: 0.9375rem;
    inline-size: 0.9375rem;
  }
}
table.dataTable th.dt-actions,
table.dataTable td.dt-actions {
  width: 1%;
  min-width: 5.5rem;
  max-width: none;
  white-space: nowrap;
  padding-inline: 0.75rem 1rem;
  vertical-align: middle;
  text-align: end;
  overflow: visible;
}
table.dataTable thead th.dt-actions {
  white-space: nowrap;
}
table.dataTable td.dt-actions .btn-group {
  display: inline-flex;
  justify-content: flex-end;
  overflow: visible;
}
table.dataTable td.dt-actions .dropdown-toggle::after {
  display: none;
}
table.dataTable td.dt-actions .dropdown-menu {
  z-index: 1080;
  max-width: calc(100vw - 2rem);
}
table.dataTable td.dt-actions .btn {
  border: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
}
.has-open-dropdown {
  overflow: visible !important;
  overflow-x: visible !important;
  overflow-y: visible !important;
  -webkit-overflow-scrolling: auto !important;
}
.has-open-dropdown:not(body):not(html) {
  position: relative;
  z-index: 20;
}
body.has-open-dropdown {
  overflow-x: visible !important;
}
div.dt-container > .row:has(table.dataTable),
div.dt-container > .dt-layout-row:has(table.dataTable) {
  position: relative;
  z-index: 3;
}
div.dt-container > .row:has(.dt-paging),
div.dt-container > .dt-layout-row:has(.dt-paging) {
  position: relative;
  z-index: 1;
}

.planify-calendar .calendar-toolbar-actions .btn-label-secondary,
#calendar-event-offcanvas-footer .btn-label-secondary,
#calendar-occurrence-edit-modal .btn-label-secondary {
  color: var(--bs-primary) !important;
}
.planify-calendar .calendar-toolbar-actions .btn-label-secondary:hover,
.planify-calendar .calendar-toolbar-actions .btn-label-secondary:focus,
#calendar-event-offcanvas-footer .btn-label-secondary:hover,
#calendar-event-offcanvas-footer .btn-label-secondary:focus,
#calendar-occurrence-edit-modal .btn-label-secondary:hover,
#calendar-occurrence-edit-modal .btn-label-secondary:focus {
  color: var(--bs-primary) !important;
}
#calendar-event-offcanvas-footer .btn-outline-primary {
  --bs-btn-color: var(--bs-primary);
  --bs-btn-border-color: var(--bs-primary);
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: var(--bs-primary);
  --bs-btn-hover-border-color: var(--bs-primary);
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: var(--bs-primary);
  --bs-btn-active-border-color: var(--bs-primary);
}
#calendar-event-cancel-occurrence-btn {
  border: none;
  box-shadow: none;
  --bs-btn-color: var(--bs-danger);
  --bs-btn-bg: transparent;
  --bs-btn-border-color: transparent;
  --bs-btn-hover-color: var(--bs-danger);
  --bs-btn-hover-bg: rgba(var(--bs-danger-rgb), 0.08);
  --bs-btn-hover-border-color: transparent;
  --bs-btn-active-color: var(--bs-danger);
  --bs-btn-active-bg: rgba(var(--bs-danger-rgb), 0.12);
  --bs-btn-active-border-color: transparent;
}
.planify-calendar .fc-event.planify-calendar-event {
  cursor: pointer;
}
.planify-calendar .fc-daygrid-event-harness,
.planify-calendar .fc-daygrid-event.planify-calendar-event {
  max-width: 100%;
  overflow: hidden;
}
.planify-calendar .fc-daygrid-event.planify-calendar-event {
  margin-block-end: 0.625rem;
}
.planify-calendar .fc-daygrid-event .fc-event-main,
.planify-calendar .fc-daygrid-event .planify-calendar-event-main,
.planify-calendar .fc-daygrid-event .fc-event-title-container {
  min-width: 0;
  max-width: 100%;
  overflow: hidden;
}
.planify-calendar .fc-event-title {
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}
.planify-calendar .fc-event-title .fc-event-title-inner {
  display: block;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.planify-calendar .fc-event-title.has-overflow {
  position: relative;
}
.planify-calendar .fc-event-title.has-overflow .fc-event-title-inner {
  will-change: transform;
}
.planify-calendar .fc-event:hover .fc-event-title.has-overflow .fc-event-title-inner {
  display: inline-block;
  max-width: none;
  animation: planify-fc-title-marquee 4s linear infinite;
}
@keyframes planify-fc-title-marquee {
  0%,
  15% {
    transform: translateX(0);
  }
  85%,
  100% {
    transform: translateX(var(--fc-title-shift, -2rem));
  }
}
.calendar-event-meta dt {
  font-weight: 500;
}
.calendar-assignment-select {
  border: 0;
  font-size: 0.8125rem;
  font-weight: 600;
}
.calendar-assignment-empty {
  background: var(--bs-gray-100) !important;
  color: var(--bs-secondary-color) !important;
}
.calendar-assignment-success {
  background: var(--bs-success-bg-subtle) !important;
  color: var(--bs-success-text-emphasis) !important;
}
.calendar-assignment-warning {
  background: var(--bs-warning-bg-subtle) !important;
  color: var(--bs-warning-text-emphasis) !important;
}
.calendar-assignment-danger {
  background: var(--bs-danger-bg-subtle) !important;
  color: var(--bs-danger-text-emphasis) !important;
}
.calendar-assignment-info {
  background: var(--bs-info-bg-subtle) !important;
  color: var(--bs-info-text-emphasis) !important;
}
.calendar-assignment-primary {
  background: var(--bs-primary-bg-subtle) !important;
  color: var(--bs-primary-text-emphasis) !important;
}
.offcanvas-footer {
  background: var(--bs-body-bg);
}

.planner-toolbar {
  align-items: center;
}
.planner-toolbar .btn {
  --bs-btn-padding-y: 0.317rem;
  --bs-btn-padding-x: 0.875rem;
  --bs-btn-font-size: 0.8125rem;
  min-width: 5.5rem;
}
.planner-search-group {
  width: 14rem;
  max-width: 100%;
}
.planner-search-group .form-control,
.planner-search-group .input-group-text {
  padding-block: 0.317rem;
  padding-inline: 0.875rem;
  font-size: 0.8125rem;
}
.planner-table-shell {
  position: relative;
}
.planner-table-shell.is-loading,
.planner-table-shell.has-error,
.planner-table-shell.has-empty {
  min-height: 18rem;
}
.planner-table-loader {
  position: absolute;
  inset: 0;
  z-index: 10;
  display: none;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
  background: color-mix(in srgb, var(--bs-paper-bg) 78%, transparent);
  border-radius: var(--bs-border-radius);
}
.planner-table-shell.is-loading .planner-table-loader {
  display: flex;
}
.planner-table-loader-spinner {
  inline-size: 2.25rem;
  block-size: 2.25rem;
  border-width: 0.2em;
  color: var(--bs-primary);
}
.planner-table-loader-text {
  font-size: 0.875rem;
  font-weight: 500;
  color: var(--bs-secondary-color);
}
.planner-table-error {
  position: absolute;
  inset: 0;
  z-index: 11;
  display: none;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
  padding: 1.5rem;
  text-align: center;
  background: var(--bs-paper-bg);
  border-radius: var(--bs-border-radius);
}
.planner-table-shell.has-error .planner-table-error {
  display: flex;
}
.planner-table-error-icon {
  font-size: 2.5rem;
  line-height: 1;
  color: var(--bs-danger);
}
.planner-table-error-text {
  max-width: 28rem;
  font-size: 0.875rem;
  color: var(--bs-secondary-color);
}
.planner-table-empty {
  position: absolute;
  inset: 0;
  z-index: 9;
  display: none;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
  padding: 1.5rem;
  text-align: center;
  background: var(--bs-paper-bg);
  border-radius: var(--bs-border-radius);
}
.planner-table-shell.has-empty .planner-table-empty {
  display: flex;
}
.planner-table-empty-icon {
  font-size: 2.5rem;
  line-height: 1;
  color: var(--bs-primary);
}
.planner-table-empty-text {
  max-width: 28rem;
  font-size: 1rem;
  font-weight: 500;
  color: var(--bs-heading-color);
}
.planner-table-wrap {
  position: relative;
  overflow: hidden;
  max-height: calc(100vh - 14rem);
  background-color: var(--bs-paper-bg);
  cursor: grab;
  touch-action: none;
}
.planner-table-wrap.planner-ps-no-y > .ps__rail-y {
  display: none !important;
}
.planner-table-wrap.is-panning,
.planner-table-wrap.is-panning * {
  cursor: grabbing !important;
  user-select: none !important;
}
.planner-table-wrap select,
.planner-table-wrap button,
.planner-table-wrap a,
.planner-table-wrap input {
  cursor: pointer;
}
.planner-table tr {
  border-bottom:none;
  border-top:none;
}
.planner-table {
  width: max-content;
  min-width: max-content;
  max-width: none;
  --bs-table-bg: var(--bs-paper-bg);
  --bs-table-color: var(--bs-body-color);
  --bs-table-border-color: var(--bs-border-color);
  --planner-row-odd-bg: color-mix(in srgb, var(--bs-paper-bg) 94%, #000 3%);
  --planner-member-col-width: 13rem;
  color: var(--bs-body-color);
  border-collapse: separate;
  border-spacing: 0;
  border-top: 0;
  border-bottom: 0;
}
[data-bs-theme=dark] .planner-table {
  --planner-row-odd-bg: color-mix(in srgb, var(--bs-paper-bg) 78%, #000 22%);
}
.planner-table th,
.planner-table td,
.table.planner-table > :not(caption) > * > * {
  vertical-align: middle;
  white-space: nowrap;
  font-size: 0.9375rem;
  background-color: var(--bs-paper-bg);
  color: var(--bs-body-color);
  border-top: 0;
  border-bottom: 0;
  border-left: 0;
  border-right: 1px solid var(--bs-border-color);
}
.table.planner-table tbody tr:nth-child(odd) > * {
  background-color: var(--planner-row-odd-bg);
}
.planner-member-col {
  position: sticky;
  left: 0;
  z-index: 4;
  min-width: var(--planner-member-col-width);
  max-width: var(--planner-member-col-width);
  width: var(--planner-member-col-width);
  box-sizing: border-box;
  background-clip: padding-box;
  box-shadow: 1px 0 0 var(--bs-border-color);
  overflow: hidden;
}
.planner-member-name {
  display: block;
  width: 0;
  min-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.planner-member-cell-inner {
  display: flex;
  align-items: center;
  gap: 0.2rem;
  min-width: 0;
  width: 100%;
}
.planner-member-cell-inner .planner-member-name {
  width: auto;
  min-width: 0;
  flex: 1 1 auto;
}
.planner-member-drag {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  width: 1.1rem;
  height: 1.25rem;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--bs-secondary-color);
  cursor: grab;
  opacity: 0.5;
  line-height: 1;
}
.planner-member-drag .icon-base {
  font-size: 0.95rem;
}
.planner-member-drag:hover,
.planner-member-drag:focus-visible {
  opacity: 1;
  color: var(--bs-heading-color);
}
.planner-member-drag:active {
  cursor: grabbing;
}
.planner-table tbody tr.planner-row-ghost > * {
  background-color: color-mix(in srgb, var(--bs-primary) 10%, var(--bs-paper-bg));
}
.planner-table tbody tr.planner-row-chosen > * {
  background-color: color-mix(in srgb, var(--bs-primary) 6%, var(--bs-paper-bg));
}
.planner-row-fallback {
  display: flex !important;
  align-items: center;
  width: auto !important;
  max-width: 16rem;
  padding: 0.4rem 0.65rem;
  background: var(--bs-paper-bg);
  color: var(--bs-body-color);
  border: 1px solid var(--bs-border-color);
  border-radius: 0.5rem;
  box-shadow: 0 0.75rem 1.5rem rgba(15, 23, 42, 0.16);
  opacity: 0.95;
  z-index: 1080;
}
.planner-row-fallback td,
.planner-row-fallback th:not(.planner-member-col) {
  display: none !important;
}
.planner-row-fallback .planner-member-col {
  position: static;
  box-shadow: none;
  overflow: visible;
  width: auto;
  min-width: 0;
  max-width: 14rem;
  padding: 0 !important;
  background: transparent;
}
.planner-row-fallback .planner-member-drag {
  display: none;
}
.planner-table thead th {
  position: sticky;
  top: 0;
  z-index: 6;
  background-color: var(--bs-paper-bg);
  box-shadow: inset 0 -1px 0 var(--bs-border-color);
}
.planner-table thead .planner-member-col {
  z-index: 8;
  top: 0;
  left: 0;
  background-color: var(--bs-paper-bg);
}
.planner-table tbody .planner-member-col {
  z-index: 5;
}
.planner-day-col {
  min-width: 5.5rem;
  text-align: center;
  padding: 0.5rem 0.35rem !important;
}
.planner-table th.planner-occurrence-col {
  font-size: 0.6875rem;
  font-weight: 400;
  text-transform: none;
  color: var(--bs-body-color);
}
.planner-occurrence-col {
  width: 14rem;
  min-width: 14rem;
  max-width: 14rem;
  text-align: left;
  vertical-align: bottom;
  padding: 0.65rem 0.5rem !important;
  white-space: normal;
  box-sizing: border-box;
}
.planner-occurrence-meta {
  display: block;
  font-size: 0.625rem;
  font-weight: 400;
  line-height: 1.1;
  color: var(--bs-secondary-color);
}
.planner-occurrence-name {
  display: -webkit-box;
  margin-top: 0.125rem;
  font-size: 0.9375rem;
  font-weight: 500;
  line-height: 1.2;
  color: var(--bs-heading-color);
  overflow: hidden;
  text-overflow: ellipsis;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}
.table.planner-table th.planner-occurrence-today {
  background: color-mix(in srgb, var(--bs-paper-bg) 92%, rgb(var(--bs-primary-rgb)) 8%);
}
.table.planner-table th.planner-occurrence-lookahead,
.table.planner-table td.planner-occurrence-lookahead {
  background: color-mix(in srgb, var(--bs-paper-bg) 94%, var(--bs-secondary) 6%);
}
.table.planner-table th.planner-occurrence-lookahead-start,
.table.planner-table td.planner-occurrence-lookahead-start {
  border-left: 2px solid color-mix(in srgb, var(--bs-primary) 55%, var(--bs-border-color));
}
.planner-day-num {
  display: block;
  font-weight: 600;
  line-height: 1.2;
}
.planner-day-weekday {
  display: block;
  font-size: 0.6875rem;
  color: var(--bs-secondary-color);
  text-transform: uppercase;
}
.planner-day-event-count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.125rem;
  height: 1.125rem;
  margin-top: 0.15rem;
  padding: 0 0.25rem;
  border-radius: 999px;
  background: var(--bs-primary-bg-subtle);
  color: var(--bs-primary);
  font-size: 0.625rem;
  font-weight: 600;
}
.table.planner-table th.planner-day-today {
  background: rgba(var(--bs-primary-rgb), 0.08);
}
.table.planner-table th.planner-day-weekend {
  background: var(--bs-gray-50);
}
.planner-cell {
  width: 14rem;
  min-width: 14rem;
  max-width: 14rem;
  padding: 0.35rem !important;
  white-space: normal;
  box-sizing: border-box;
}
.planner-event-cell + .planner-event-cell {
  margin-top: 0.35rem;
}
.planner-position-dropdown {
  width: 100%;
}
.planner-position-dropdown.btn-group > .planner-position-select,
.planner-position-select {
  width: 100%;
  border: 0;
  border-inline-start: 0;
  border-inline-end: 0;
  padding-top: 0.2rem;
  padding-bottom: 0.2rem;
  font-size: 0.8125rem;
  font-weight: 600;
  justify-content: space-between;
  box-shadow: none !important;
}
.planner-position-select > span {
  min-width: 0;
}
[data-bs-theme=dark] .planner-position-select {
  color-scheme: dark;
}
.planner-event-cell-readonly {
  opacity: 0.45;
}
.planner-event-cell-readonly .planner-position-select {
  cursor: not-allowed;
}
.planner-position-select.planner-pill-success {
  background-color: var(--bs-success-bg-subtle) !important;
  color: var(--bs-success-text-emphasis) !important;
}
.planner-position-select.planner-pill-warning {
  background-color: var(--bs-warning-bg-subtle) !important;
  color: var(--bs-warning-text-emphasis) !important;
}
.planner-position-select.planner-pill-danger {
  background-color: var(--bs-danger-bg-subtle) !important;
  color: var(--bs-danger-text-emphasis) !important;
}
.planner-position-select.planner-pill-primary {
  background-color: var(--bs-primary-bg-subtle) !important;
  color: var(--bs-primary-text-emphasis) !important;
}
.planner-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: calc(1.5em + 0.4rem + 2px);
  padding: 0.2rem 0.5rem;
  border-radius: var(--bs-border-radius);
  font-size: 0.8125rem;
  font-weight: 600;
  line-height: 1.2;
  text-align: center;
}
.planner-pill-empty {
  background: transparent !important;
  color: var(--bs-secondary-color) !important;
  border: 0;
  font-size: 0.75rem;
  font-weight: 500;
  letter-spacing: 0.03em;
  text-transform: uppercase;
}
.planner-pill-assigned {
  background: transparent !important;
  color: var(--bs-body-color) !important;
}
.planner-event-cell .text-muted.small {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: calc(1.5em + 0.4rem + 2px);
  padding: 0.2rem 0.5rem;
  border-radius: var(--bs-border-radius);
  font-size: 0.625rem;
  font-weight: 600;
  line-height: 1.2;
  color: var(--bs-danger) !important;
  background: var(--bs-danger-bg-subtle) !important;
}
.planner-pill-success {
  background: var(--bs-success-bg-subtle) !important;
  color: var(--bs-success-text-emphasis) !important;
}
.planner-pill-warning {
  background: var(--bs-warning-bg-subtle) !important;
  color: var(--bs-warning-text-emphasis) !important;
}
.planner-pill-danger {
  background: var(--bs-danger-bg-subtle) !important;
  color: var(--bs-danger-text-emphasis) !important;
}
.planner-pill-info {
  background: var(--bs-info-bg-subtle) !important;
  color: var(--bs-info-text-emphasis) !important;
}
.planner-pill-primary {
  background: var(--bs-primary-bg-subtle) !important;
  color: var(--bs-primary-text-emphasis) !important;
}
.planner-event-cell-readonly:not(.planner-event-cell-open-call) {
  opacity: 0.45;
}
.planner-event-cell-open-call {
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 1 !important;
}
.planner-event-cell-host {
  position: relative;
}
.planner-multi-day-marker {
  position: absolute;
  top: -0.3rem;
  right: -0.1rem;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1rem;
  height: 1rem;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: rgba(var(--bs-body-bg-rgb), 0.92);
  color: var(--bs-secondary-color);
  line-height: 1;
  cursor: pointer;
}
.planner-multi-day-marker:hover,
.planner-multi-day-marker:focus {
  color: var(--bs-gray-700);
}
.planner-multi-day-marker .icon-base {
  font-size: 0.75rem;
}
.planner-multi-day-marker + .planner-multi-day-marker {
  right: 1.15rem;
}
.planner-open-call-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.25rem;
  height: 1.25rem;
  padding: 0;
  border: none;
  background: transparent;
  font-size: 1.125rem;
  line-height: 1;
}
.planner-open-call-icon .icon-base {
  display: block;
  line-height: 1;
}
.planner-event-cell-open-call .planner-receipt-tip {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: auto;
}
.planner-open-call-icon-accepted {
  color: var(--bs-success);
}
.planner-open-call-icon-declined {
  color: var(--bs-danger);
}
.planner-open-call-icon-pending {
  color: var(--bs-warning);
}
.planner-summary-open-call {
  font-weight: 600;
}
.planner-table-wrap.is-compact .planner-occurrence-col {
  width: 4.5rem;
  min-width: 4.5rem;
  max-width: 4.5rem;
  padding: 0.35rem 0.25rem !important;
  text-align: center;
}
.planner-table-wrap.is-compact .planner-cell {
  width: 4.5rem;
  min-width: 4.5rem;
  max-width: 4.5rem;
  padding: 0.2rem 0.15rem !important;
}
.planner-table-wrap.is-compact .planner-occurrence-day-only {
  font-size: 0.6875rem;
  font-weight: 600;
  line-height: 1.1;
}
.planner-table-wrap.is-compact .planner-occurrence-month-short {
  display: block;
  font-size: 0.5625rem;
  font-weight: 600;
  line-height: 1.1;
  text-transform: lowercase;
  color: var(--bs-primary);
}
.planner-table-wrap.is-compact .planner-occurrence-name-compact {
  display: block;
  margin-top: 0.125rem;
  font-size: 0.625rem;
  font-weight: 500;
  line-height: 1.1;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  -webkit-line-clamp: unset;
  -webkit-box-orient: unset;
}
.planner-table-wrap.is-compact .planner-position-select {
  padding-left: 0.25rem;
  padding-right: 0.85rem;
  font-size: 0.625rem;
  text-align: center;
}
.planner-table-wrap.is-compact .planner-position-select .icon-base {
  display: none;
}
.planner-table-wrap.is-compact .planner-position-select .labeled-dropdown-label {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.planner-table-wrap.is-compact .planner-table {
  --planner-member-col-width: 8rem;
}
.planner-table-wrap.is-compact .planner-member-col {
  font-size: 0.8125rem;
  padding: 5px 10px;
}
.planner-table-wrap.is-compact .planner-member-drag {
  width: 0.95rem;
}
.planner-table-wrap.is-compact .planner-member-drag .icon-base {
  font-size: 0.85rem;
}
#planner-rules-modal,
#planner-monthly-report-modal {
  z-index: 1100;
}
@media (max-width: 767.98px) {
  .planner-table {
    --planner-member-col-width: 5.5rem;
  }
  .planner-table-wrap.is-compact .planner-table {
    --planner-member-col-width: 5rem;
  }
  .planner-member-col {
    font-size: 0.75rem;
    line-height: 1.2;
    padding: 0.4rem 0.45rem !important;
  }
  .planner-table-wrap.is-compact .planner-member-col {
    font-size: 0.6875rem;
    padding: 0.3rem 0.35rem !important;
  }
  .planner-member-name {
    display: block;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  .planner-month-nav {
    width: 100%;
  }
  #planner-month-label {
    min-inline-size: 0;
  }
  .planner-toolbar {
    flex-wrap: nowrap;
  }
  .planner-search-group {
    flex: 1 1 auto;
    width: auto;
    min-width: 0;
  }
  .planner-toolbar-secondary {
    display: none !important;
  }
  .planner-save-icon {
    display: inline-block;
    margin-inline-end: 0 !important;
  }
  #planner-save-label {
    display: none;
  }
  .planner-save-btn {
    min-width: 0;
  }
  .planner-toolbar-body {
    padding: 0.5rem 0.75rem !important;
  }
  .planner-table-body {
    padding: 0 !important;
  }
  .planner-table-wrap {
    max-height: calc(100dvh - 19rem);
    min-height: 18rem;
  }
}
.planner-table-wrap.is-compact .planner-event-cell .text-muted.small,
.planner-table-wrap.is-compact .planner-pill-empty {
  font-size: 0.625rem;
  min-height: calc(1.5em + 0.25rem + 2px);
  padding: 0.15rem 0.25rem;
}
.planner-summary-row th,
.planner-summary-row td {
  position: sticky;
  bottom: 0;
  z-index: 6;
  background-color: var(--bs-paper-bg) !important;
  background-clip: padding-box !important;
  border-top: 1px solid var(--bs-border-color) !important;
  box-shadow: 0 -6px 12px color-mix(in srgb, #000 8%, transparent);
  vertical-align: middle;
}
.planner-summary-row .planner-member-col,
.planner-table tfoot .planner-member-col {
  z-index: 7;
}
.planner-summary-cell {
  text-align: center;
}
.planner-summary-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.25rem;
  font-size: 0.75rem;
  font-weight: 600;
  line-height: 1.2;
}
.planner-summary-complete {
  color: var(--bs-success-text-emphasis);
}
.planner-summary-partial {
  color: var(--bs-warning-text-emphasis);
}
.planner-table-wrap.is-compact .planner-summary-badge {
  font-size: 0.625rem;
}
.planify-calendar .fc-event.planify-calendar-event-canceled {
  opacity: 0.92;
}
.planify-calendar .fc-event.planify-calendar-event-past {
  opacity: 0.5;
}
.planify-calendar .planify-calendar-event-main {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.125rem;
  min-width: 0;
  width: 100%;
  padding-inline-end: 1.05rem;
}
.planify-calendar .planify-calendar-event-time {
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: #000 !important;
  font-size: 0.6875rem;
  font-weight: 600;
  line-height: 1.1;
}
.planify-calendar .planify-calendar-event-name {
  display: block;
  min-width: 0;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: #000 !important;
  font-size: 0.9375rem;
  font-weight: 500;
  line-height: 1.2;
}
.planify-calendar .planify-calendar-event-footer {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.25rem 0.5rem;
  margin-top: 0.15rem;
  max-width: 100%;
  color: var(--bs-secondary-color);
  font-size: 0.625rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  line-height: 1.2;
  text-transform: uppercase;
}
.planify-calendar .planify-calendar-event-type {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: #b4b4b7;
}
.planify-calendar .planify-calendar-event-edited {
  color: var(--bs-warning);
}
.planify-calendar .planify-calendar-event-footer--list {
  margin: 0.15rem 0 0;
  padding-inline-end: 1.75rem;
}
.planify-calendar .planify-calendar-staffing {
  position: absolute;
  top: 0.05rem;
  inset-inline-end: 0;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 0.95rem;
  height: 0.95rem;
  writing-mode: horizontal-tb;
  line-height: 1;
}
.planify-calendar .planify-calendar-staffing .icon-base {
  font-size: 0.875rem;
  line-height: 1;
}
.planify-calendar .planify-calendar-staffing.is-confirmed {
  color: var(--bs-success);
}
.planify-calendar .planify-calendar-staffing.is-pending {
  color: var(--bs-warning);
}
.planify-calendar .planify-calendar-staffing.is-needs-cover {
  color: var(--bs-danger);
}
.planify-calendar .fc-list-event {
  position: relative;
}
.planify-calendar .planify-calendar-staffing--list {
  top: 50%;
  inset-inline-end: 0.75rem;
  transform: translateY(-50%);
}
.calendar-day-panel__meta {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  flex-shrink: 0;
}
.calendar-day-panel__staffing {
  position: static;
  width: 1rem;
  height: 1rem;
}
.planify-calendar .planify-canceled-event-badge {
  background: transparent !important;
  padding: 0 !important;
  border: 0;
  border-radius: 0;
  color: var(--bs-danger) !important;
  font-size: 0.625rem;
  font-weight: 600;
  line-height: 1.2;
}

.wa-template-nav .nav-item + .nav-item {
  margin-top: 0.25rem;
}

.wa-template-nav .nav-link.wa-template-nav-link {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 0.75rem 1rem;
  border-radius: 0.5rem;
  background: transparent;
  box-shadow: none;
  color: var(--bs-heading-color);
  transition: background-color 0.15s ease, color 0.15s ease;
}

.wa-template-nav .nav-link.wa-template-nav-link:hover:not(.active):not(.disabled) {
  background: rgba(var(--bs-body-color-rgb), 0.04);
  color: var(--bs-heading-color);
}

.wa-template-nav .nav-link.wa-template-nav-link.active {
  background: #000;
  color: #fff;
}

.wa-template-nav-link__title {
  font-weight: 500;
  line-height: 1.3;
}

.wa-template-nav-link__key,
.wa-template-nav-link__meta {
  margin: 0 !important;
  margin-top: 0.35rem !important;
  line-height: 1;
  font-size: 11px;
  font-family: var(--bs-font-monospace);
  font-weight: 400;
}

.wa-template-nav .nav-link.wa-template-nav-link:not(.active) .wa-template-nav-link__key,
.wa-template-nav .nav-link.wa-template-nav-link:not(.active) .wa-template-nav-link__meta {
  color: var(--bs-secondary-color);
}

.wa-template-nav .nav-link.wa-template-nav-link.active .wa-template-nav-link__key,
.wa-template-nav .nav-link.wa-template-nav-link.active .wa-template-nav-link__meta {
  color: rgba(255, 255, 255, 0.65);
}

  .avatar-xs {
    --bs-avatar-size: 2rem;
}

.dt-buttons .btn.btn-secondary,
.dt-buttons .btn.btn-label-secondary,
.dt-buttons .btn-group > .btn.btn-secondary,
.dt-buttons .btn.btn-label-primary,
.dt-buttons .btn-group > .btn {
  box-shadow: none !important;
}

.dt-buttons .btn.btn-secondary,
.dt-buttons .btn.btn-label-secondary,
.dt-buttons .btn-group > .btn.btn-secondary {
  color: var(--bs-primary) !important;
  border-color: transparent;
  background: rgba(var(--bs-primary-rgb), 0.16);
}

.dt-buttons .btn.btn-secondary:hover,
.dt-buttons .btn.btn-secondary:focus,
.dt-buttons .btn.btn-label-secondary:hover,
.dt-buttons .btn.btn-label-secondary:focus,
.dt-buttons .btn-group > .btn.btn-secondary:hover,
.dt-buttons .btn-group > .btn.btn-secondary:focus {
  color: var(--bs-primary) !important;
  background: rgba(var(--bs-primary-rgb), 0.24);
  box-shadow: none !important;
}

.avatar-group-collapsible.is-expanded {
  flex-wrap: wrap;
  gap: 0.2rem;
}

.avatar-group-collapsible.is-expanded .avatar {
  margin-inline-start: 0 !important;
}

.avatar-group-overflow-btn {
  cursor: pointer;
  line-height: 1;
}

.avatar-group-overflow-btn:hover .avatar-initial {
  filter: brightness(0.92);
}
.fc .fc-daygrid-event-harness+.fc-daygrid-event-harness .fc-daygrid-event {
  margin-block-start: 0;
}

.planify-calendar .fc-timegrid-col-events .fc-timegrid-event-harness {
  padding-inline-end: 0.5rem;
}
.planify-calendar .fc .fc-timegrid .fc-timegrid-event,
.planify-calendar .fc-timegrid-event.planify-calendar-event {
  margin: 5px;
  padding: 0;
  padding-block-start: 0;
  border: 0;
  border-radius: 0.25rem;
  box-shadow: none;
  overflow: hidden;
}
.planify-calendar .fc .fc-view-harness .fc-timegrid-event .fc-event-main {
  padding: 0.2rem 0.4rem;
  height: 100%;
  overflow: hidden;
}
.planify-calendar .fc-timegrid-event .planify-calendar-timegrid-event {
  display: flex;
  flex-direction: column;
  gap: 0.125rem;
  min-width: 0;
  min-height: 0;
  height: 100%;
  overflow: hidden;
}
.planify-calendar .fc-timegrid-event .planify-calendar-event-name,
.planify-calendar .fc .fc-view-harness .fc-timegrid-event .fc-event-title,
.planify-calendar .fc .fc-view-harness .fc-v-event .fc-event-title {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
  padding-block-start: 0;
  white-space: normal;
  text-overflow: ellipsis;
  font-size: 0.75rem;
  font-weight: 500;
  line-height: 1.2;
}
.planify-calendar .fc-timegrid-event .planify-calendar-event-time,
.planify-calendar .fc .fc-view-harness .fc-timegrid-event .fc-event-time {
  font-size: 0.6875rem;
  font-weight: 600;
  line-height: 1.1;
}
.planify-calendar .fc-timegrid-event .planify-calendar-event-footer {
  margin-top: auto;
  font-size: 0.5625rem;
}
.planify-calendar .fc-timegrid-event.planify-calendar-event--vertical .planify-calendar-event-footer {
  display: none;
}
.planify-calendar .fc-timegrid-event.planify-calendar-event--vertical .fc-event-main {
  padding: 0.4rem 0.15rem;
}
.planify-calendar .fc-timegrid-event.planify-calendar-event--vertical .planify-calendar-timegrid-event {
  flex-direction: row;
  writing-mode: vertical-rl;
  gap: 0.5rem;
}
.planify-calendar .fc-timegrid-event.planify-calendar-event--vertical .planify-calendar-event-name,
.planify-calendar .fc-timegrid-event.planify-calendar-event--vertical .fc-event-title,
.planify-calendar .fc-timegrid-event.planify-calendar-event--vertical .planify-calendar-event-time {
  display: block;
  -webkit-line-clamp: unset;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  max-height: none;
}
@media (max-width: 767.98px) {
  .planify-calendar .fc .fc-timegrid .fc-timegrid-event {
    overflow: hidden;
    white-space: normal;
  }
}

.calendar-day-panel__item {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  width: 100%;
  margin-top: 0.5rem;
  padding: 0.625rem 0.75rem;
  border: 0;
  border-inline-start: 3px solid var(--bs-primary);
  border-radius: var(--bs-border-radius);
  background-color: #f5f5f5;
  text-align: start;
}
[data-bs-theme=dark] .calendar-day-panel__item {
  background-color: var(--bs-gray-50);
}
.calendar-day-panel__item--success {
  border-inline-start-color: var(--bs-success);
}
.calendar-day-panel__item--info {
  border-inline-start-color: var(--bs-info);
}
.calendar-day-panel__item--warning {
  border-inline-start-color: var(--bs-warning);
}
.calendar-day-panel__item--canceled {
  opacity: 0.55;
  border-inline-start-color: var(--bs-secondary);
}
.calendar-day-panel__item--past {
  opacity: 0.5;
}
.calendar-day-panel__item--canceled .calendar-day-panel__title {
  text-decoration: line-through;
}
.calendar-day-panel__time {
  flex-shrink: 0;
  width: 4.25rem;
  font-size: 0.75rem;
  font-weight: 600;
  color: var(--bs-secondary-color);
}
.calendar-day-panel__body {
  display: flex;
  flex: 1 1 auto;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  min-width: 0;
}
.calendar-day-panel__title {
  min-width: 0;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  font-weight: 600;
  color: var(--bs-heading-color);
}
.calendar-day-panel__badge {
  flex-shrink: 0;
}

@media (max-width: 767.98px) {
  .planify-calendar .fc-dayGridMonth-view {
    --fc-border-color: transparent;
  }
  .planify-calendar > .card-body {
    padding-inline: 0.75rem;
  }
  .planify-calendar .fc-header-toolbar {
    margin-block-end: 1rem !important;
  }
  .planify-calendar .fc .fc-view-harness {
    margin-inline: 0;
  }
  .planify-calendar .fc .fc-view-harness:has(.fc-dayGridMonth-view) {
    min-block-size: 0;
  }
  .planify-calendar .fc-dayGridMonth-view .fc-daygrid-day-frame {
    min-height: 0;
    padding: 0.25rem 0.125rem;
  }
  .planify-calendar .fc-dayGridMonth-view .fc-daygrid-day-events,
  .planify-calendar .fc-dayGridMonth-view .fc-daygrid-day-bottom {
    pointer-events: none;
  }
  .planify-calendar .fc-dayGridMonth-view .fc-daygrid-day-top {
    justify-content: center;
  }
  .planify-calendar .fc .fc-view-harness .fc-daygrid-body .fc-daygrid-day .fc-daygrid-day-top .fc-daygrid-day-number {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1.75rem;
    height: 1.75rem;
    padding: 0;
    border-radius: 50%;
    color: var(--bs-heading-color);
    font-size: 0.9375rem;
    font-weight: 700;
    line-height: 1;
  }
  .planify-calendar .fc-dayGridMonth-view .fc-day-other {
    opacity: 1;
  }
  .planify-calendar .fc .fc-view-harness .fc-daygrid-body .fc-day-other .fc-daygrid-day-top .fc-daygrid-day-number {
    color: var(--bs-secondary-color);
    font-weight: 600;
  }
  .planify-calendar .fc-dayGridMonth-view .fc-day-today {
    background-color: transparent !important;
  }
  .planify-calendar .fc .fc-view-harness .fc-daygrid-body .fc-day-today .fc-daygrid-day-top .fc-daygrid-day-number {
    color: var(--bs-primary);
  }
  .planify-calendar .fc .fc-view-harness .fc-daygrid-body .fc-daygrid-day.is-selected .fc-daygrid-day-top .fc-daygrid-day-number {
    background-color: var(--bs-primary);
    color: var(--bs-white, #fff);
  }
  .planify-calendar .fc-dayGridMonth-view .fc-daygrid-day-events {
    margin-block: 0.1875rem 0;
    min-height: 0;
  }
  .planify-calendar .fc-dayGridMonth-view .fc-daygrid-event-harness {
    margin-top: 0;
  }
  .planify-calendar .fc-dayGridMonth-view .fc-daygrid-event.planify-calendar-event {
    display: block;
    height: 0.375rem;
    margin: 0.25rem 0.125rem 0;
    padding: 0;
    border: 0;
    border-radius: 999px;
    box-shadow: none;
  }
  .planify-calendar .fc-dayGridMonth-view .fc-daygrid-event.planify-calendar-event > * {
    display: none;
  }
  .planify-calendar .fc-dayGridMonth-view .fc-daygrid-day-bottom {
    margin: 0;
    padding: 0;
    line-height: 1.2;
    text-align: center;
  }
  .planify-calendar .fc .fc-view-harness .fc-daygrid-body .fc-daygrid-day .fc-daygrid-day-bottom .fc-daygrid-more-link {
    margin-block-start: 0.125rem;
    color: var(--bs-secondary-color);
    font-size: 0.625rem;
    font-weight: 500;
  }
  .planify-calendar .fc-dayGridMonth-view .fc-col-header-cell-cushion {
    padding: 0.375rem 0;
    color: var(--bs-secondary-color);
    font-size: 0.75rem;
    font-weight: 500;
  }
}

.upcoming-events-swiper .swiper-slide {
  height: auto;
  padding-bottom: 1px;
}

.upcoming-events-swiper .swiper-pagination {
  position: relative;
  inset: auto;
}

.event-slide {
  display: flex;
  flex-direction: column;
  height: 100%;
  border: none;
  border-radius: var(--bs-border-radius-lg);
  padding: 1.75rem;
  background-color: #f5f5f5;
}

[data-bs-theme=dark] .event-slide {
  background-color: var(--bs-gray-50);
}

[data-bs-theme=light] .event-slide {
  --bs-heading-color: #1a1a1c;
  --bs-body-color: #4a4a4c;
  --bs-secondary-color: #6b6b6e;
}

.event-slide__header {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  margin-bottom: 1rem;
}

.event-slide__top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
}

.event-slide__date {
  margin-bottom: 0;
  line-height: 1.2;
  color: var(--bs-body-color);
}

.event-slide__title {
  width: 100%;
  margin-bottom: 0;
  line-height: 1.2;
  margin-top: 20px;
  font-weight: 600;
  color: var(--bs-heading-color);
  font-size:20px;
  padding: 0;
  border: 0;
  background: none;
  text-align: inherit;
  cursor: pointer;
}

.event-slide__title:hover,
.event-slide__title:focus-visible {
  color: var(--bs-primary);
}

.event-slide__time {
  color: var(--bs-secondary-color);
}

.event-slide__notify {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 0.45rem;
  margin-left: auto;
  flex-shrink: 0;
}

.event-slide__notify-block {
  display: flex;
  align-items: flex-start;
  gap: 0.35rem;
}

.event-slide__notify--rotating {
  position: relative;
  display: block;
  min-width: 7.5rem;
  min-height: 2.35rem;
}

.event-slide__notify--rotating .event-slide__notify-block {
  position: absolute;
  top: 0;
  inset-inline-end: 0;
  opacity: 0;
  animation: event-slide-notify-fade 7s ease-in-out infinite;
}

.event-slide__notify--rotating .event-slide__notify-block:nth-child(2) {
  animation-delay: 3.5s;
}

@keyframes event-slide-notify-fade {
  0% {
    opacity: 0;
  }
  10% {
    opacity: 1;
  }
  40% {
    opacity: 1;
  }
  60% {
    opacity: 0;
  }
  100% {
    opacity: 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  .event-slide__notify--rotating {
    display: flex;
    flex-direction: column;
    min-height: 0;
  }
  .event-slide__notify--rotating .event-slide__notify-block {
    position: static;
    opacity: 1;
    animation: none;
  }
}

.event-slide__notify-text {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  line-height: 1.25;
  text-align: right;
  white-space: nowrap;
}

.event-slide__notify-label {
  font-size: 0.6875rem;
  color: var(--bs-secondary-color);
}

.event-slide__notify-when {
  font-size: 0.8125rem;
  font-weight: 500;
  color: var(--bs-body-color);
}

.event-slide__members {
  margin-top: 0;
  padding: 10px 0px;
  border-top: 1px solid var(--bs-border-color);
}

.event-slide__department {
  margin: 0.85rem 0 0.4rem;
  padding-top: 0.5rem;
  border-top: 1px solid var(--bs-border-color);
  font-size: 0.6875rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--bs-secondary-color);
  line-height: 1.2;
}

.event-slide__department--first {
  margin-top: 0;
  padding-top: 0;
  border-top: 0;
}

.event-slide__footer {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.25rem 0.5rem;
  margin-top: auto;
  padding-top: 0.75rem;
  color: var(--bs-secondary-color);
  font-size: 0.625rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  line-height: 1.2;
  text-transform: uppercase;
}

.event-slide__type {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: #b4b4b7;
}

.event-slide__send-now {
  margin-left: auto;
  text-transform: none;
  letter-spacing: 0;
  font-size: 0.75rem;
  font-weight: 600;
}

.event-slide__edited {
  color: var(--bs-warning);
}

.send-occurrence-notifications .form-select,
.send-occurrence-notifications .tagify {
  min-height: 2.375rem;
}

.send-occurrence-notifications .tagify {
  align-items: center;
  padding: 0.25rem 0.5rem;
  font-size: 0.9375rem;
}

.send-occurrence-notifications .tagify__input {
  margin: 0.125rem 0;
  line-height: 1.5;
}

.modal .tagify__dropdown {
  z-index: 1095;
}

.send-occurrence-notifications__list {
  max-height: min(52vh, 28rem);
  overflow: auto;
  border: 1px solid var(--bs-border-color);
  border-radius: 0.5rem;
}

.send-occurrence-notifications__date {
  position: sticky;
  top: 0;
  z-index: 1;
  margin: 0;
  padding: 0.4rem 0.85rem;
  background: var(--bs-tertiary-bg);
  color: var(--bs-heading-color);
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.02em;
}

.send-occurrence-notifications__row {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin: 0;
  padding: 0.55rem 0.85rem;
  border-top: 1px solid var(--bs-border-color);
  cursor: pointer;
}

.send-occurrence-notifications__row:hover {
  background: color-mix(in srgb, var(--bs-primary) 6%, transparent);
}

.send-occurrence-notifications__row .form-check-input {
  margin-top: 0;
  flex-shrink: 0;
}

.send-occurrence-notifications__body {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  min-width: 0;
  flex: 1 1 auto;
}

.send-occurrence-notifications__time {
  flex: 0 0 3.25rem;
  font-size: 0.8125rem;
  font-weight: 500;
  font-variant-numeric: tabular-nums;
  color: var(--bs-secondary-color);
}

.send-occurrence-notifications__name {
  min-width: 0;
  flex: 1 1 auto;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--bs-heading-color);
}

@media (max-width: 767.98px) {
  .send-occurrence-notifications__row {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    grid-template-areas:
      "check name name"
      "check time count";
    align-items: start;
    column-gap: 0.75rem;
    row-gap: 0;
  }

  .send-occurrence-notifications__row .form-check-input {
    grid-area: check;
    align-self: start;
    margin-top: 0.2rem;
  }

  .send-occurrence-notifications__body {
    display: contents;
  }

  .send-occurrence-notifications__name {
    grid-area: name;
    width: auto;
  }

  .send-occurrence-notifications__time {
    grid-area: time;
    flex: none;
    align-self: center;
    font-size: 0.6875rem;
    font-weight: 500;
  }

  .send-occurrence-notifications__count {
    grid-area: count;
    align-self: center;
  }
}

.send-occurrence-notifications__count {
  flex: 0 0 auto;
  border-radius: 999px;
  padding: 0.15rem 0.55rem;
  color: var(--bs-primary);
  font-size: 0.6875rem;
  font-weight: 400;
  white-space: nowrap;
}

.event-slide__details-toggle {
  margin-top: 0.75rem;
  align-self: flex-start;
}

.event-slide--collapsed .event-slide__members,
.event-slide--collapsed .event-slide__members-pagination {
  display: none;
}

.calendar-month-cards {
  display: grid;
  gap: 1rem;
  padding: 1rem 0 1.5rem;
}

@media (min-width: 768px) {
  .calendar-month-cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.25rem;
  }
}

@media (min-width: 1200px) {
  .calendar-month-cards {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

.planify-calendar.is-month-cards .fc-view-harness {
  display: none;
}
@media (max-width: 767.98px) {
  .upcoming-events-swiper.swiper-autoheight .swiper-wrapper {
    align-items: flex-start;
  }
  .event-slide {
    height: auto;
    padding: 1rem;
  }
  .event-slide__header {
    margin-bottom: 0.75rem;
  }
  .event-slide__title {
    margin-top: 0.75rem;
  }
  .event-slide__members {
    padding: 0.75rem 0 0;
  }
}

.event-slide__member {
  margin-bottom: 1rem;
}

.event-slide__member:last-child {
  margin-bottom: 0;
}

.event-slide__member-row {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  flex-wrap: wrap;
}

.event-slide__member-row--replacement {
  justify-content: flex-start;
}

.event-slide__member-info {
  min-width: 0;
}

.event-slide__member-info--divided {
  padding-right: 15px;
  margin-right: 5px;
  border-right: 1px solid var(--bs-border-color);
}

.event-slide__member-name {
  line-height: 1.3;
  color: var(--bs-heading-color);
}

.event-slide__member-role {
  color: var(--bs-body-color);
}

.event-slide__member-status-wrap {
  display: flex;
  align-items: center;
  margin-left: auto;
  gap: 0.75rem;
}

.event-slide__member-status-actions {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
}

.event-slide__force-send {
  width: 1.375rem;
  height: 1.375rem;
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--bs-secondary-color);
  border: 0;
  background: transparent;
  box-shadow: none;
}

.event-slide__force-send:hover,
.event-slide__force-send:focus-visible {
  color: var(--bs-primary);
}

.event-slide__force-send:disabled {
  opacity: 0.45;
}

#planify-dialog-modal.planify-dialog--rich .modal-body {
  white-space: normal;
  padding-top: 0.875rem;
  padding-bottom: 0.875rem;
}

.force-send-dialog__lead {
  margin: 0 0 0.75rem;
  color: var(--bs-secondary-color);
  font-size: 0.875rem;
  line-height: 1.4;
}

.force-send-dialog__label {
  margin: 0 0 0.375rem;
  font-size: 0.8125rem;
  font-weight: 600;
  line-height: 1.3;
}

.force-send-dialog__list {
  margin: 0 0 0.75rem;
  padding-left: 1.15rem;
}

.force-send-dialog__list li {
  margin: 0;
  padding: 0.125rem 0;
  line-height: 1.35;
}

.force-send-dialog__meta {
  margin: 0;
  font-size: 0.8125rem;
  color: var(--bs-secondary-color);
  line-height: 1.3;
}

.event-slide__member-row--replacement .event-slide__member-status-wrap {
  margin-left: auto;
}

.event-slide__member-row:not(.event-slide__member-row--replacement) {
  justify-content: space-between;
}

.event-slide__unavailable-name {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  font-size: 11px;
  color: var(--bs-secondary-color);
}

.event-slide__unavailable-text {
  text-decoration: line-through;
  font-size: 11px;
  line-height: 1.2;
}

.event-slide__unavailable-icon {
  flex-shrink: 0;
  font-size: 11px;
  line-height: 1;
  text-decoration: none;
  opacity: 0.85;
}

.event-slide__member-badge {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
}

.event-slide__member-badge--clickable {
  cursor: pointer;
  transition: opacity 0.15s ease;
}

.event-slide__member-badge--clickable:hover {
  opacity: 0.85;
}

.event-slide__member-badge--working {
  animation: event-slide-badge-pulse 1.8s ease-in-out infinite;
}

.event-slide__member-badge-spinner {
  margin-right: 0.3125rem;
  animation: event-slide-badge-spin 0.9s linear infinite;
}

@keyframes event-slide-badge-pulse {
  0%,
  100% {
    opacity: 1;
  }

  50% {
    opacity: 0.68;
  }
}

@keyframes event-slide-badge-spin {
  from {
    transform: rotate(0deg);
  }

  to {
    transform: rotate(360deg);
  }
}
.swiper .swiper-slide {
  color: var(--bs-black);
}
ul#event-vote-responses-modal-list {
  padding: 20px;
}
.card_dashboard.card_dashboard_messaging .tab-content {
  box-shadow: none;
  border: none;
}

.card_dashboard_messaging .vehicles-progress-labels .vehicles-progress-label {
  position: relative;
  padding-block-end: 15px;
}

.card_dashboard_messaging .vehicles-progress-labels .vehicles-progress-label::after {
  position: absolute;
  display: inline-block;
  background-color: var(--bs-border-color);
  block-size: 10px;
  content: "";
  inline-size: 2px;
  inset-block-end: 0;
  inset-inline-start: 0;
}

.card_dashboard_messaging .vehicles-overview-progress .snackbar,
.card_dashboard_messaging .vehicles-overview-progress .bg-lighter {
  background-color: var(--bs-gray-100);
}

.card_dashboard_messaging .js-messaging-other-toggle {
  cursor: pointer;
}

.card_dashboard_messaging .js-messaging-other-toggle:hover {
  background-color: rgba(var(--bs-primary-rgb), 0.04);
}

.card_dashboard_messaging .messaging-other-detail td {
  border-top: none;
  padding-block: 0.35rem;
}

.dashboard-member-presence {
  min-width: 12rem;
}

.dashboard-member-presence .progress {
  min-width: 5rem;
}
.card-datatable:has(.datatables-team-members) {
  /* padding-inline: 1rem; */
}
.card:has(.datatables-members) table.datatables-members,
.card:has(.datatables-positions) table.datatables-positions,
.card:has(.datatables-open-calls) table.datatables-open-calls,
.card:has(.datatables-announcements) table.datatables-announcements,
.card:has(.datatables-events) table.datatables-events,
.card:has(.datatables-departments) table.datatables-departments {
  margin-inline: 1rem;
  width: calc(100% - 2rem) !important;
}
div.dt-container .announcements-dt-search {
  padding-inline: 1rem;
  padding-block: 0.75rem 1rem;
}
div.dt-container .announcements-dt-search .dt-search {
  margin-block: 0;
}
.authentication-wrapper.authentication-basic .authentication-inner:before,
.authentication-wrapper.authentication-basic .authentication-inner:after {
  display: none;
}

.superadmin-plan-modal {
  max-height: calc(100vh - 2rem);
  margin-top: 1rem;
  margin-bottom: 1rem;
}

.superadmin-plan-modal .modal-content {
  max-height: calc(100vh - 2rem);
  overflow: hidden;
}

.superadmin-plan-modal-form {
  display: flex;
  flex-direction: column;
  max-height: calc(100vh - 2rem);
  min-height: 0;
}

.superadmin-plan-modal-form .modal-header,
.superadmin-plan-modal-form .modal-footer {
  flex-shrink: 0;
}

.superadmin-plan-modal-form .modal-body {
  flex: 1 1 auto;
  overflow-y: auto;
  min-height: 0;
}

.plan-upgrade-card {
  overflow: hidden;
}

.plan-upgrade-card .plan-upgrade-price {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  align-items: baseline;
  column-gap: 0.25rem;
  flex: 0 1 auto;
  min-width: 0;
}

.plan-upgrade-card .plan-upgrade-amount {
  font-size: 1.5rem;
  font-weight: 600;
  line-height: 1.2;
}

.plan-upgrade-card .plan-upgrade-period {
  font-size: 0.875rem;
  white-space: nowrap;
}

.compare-plans-modal .modal-content {
  overflow: hidden;
}

.compare-plans-modal .modal-header {
  padding: 1.25rem 1.5rem 1.35rem;
  align-items: center;
}

.compare-plans-modal .modal-title {
  font-size: 1.375rem;
  font-weight: 700;
  line-height: 1.3;
  color: var(--bs-heading-color);
}

.compare-plans-table {
  --bs-table-bg: transparent;
}

.compare-plans-table > :not(caption) > * > * {
  background-color: transparent;
  border-bottom-width: 0;
  padding: 0.95rem 1.25rem;
  vertical-align: middle;
}

.compare-plans-table thead th {
  text-transform: none;
  letter-spacing: 0;
  border-bottom: 1px solid var(--bs-border-color);
  padding-top: 1.1rem;
  padding-bottom: 1rem;
}

.compare-plans-feature-heading {
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--bs-secondary-color);
}

.compare-plans-plan-name {
  display: inline-block;
  font-size: 1.0625rem;
  font-weight: 700;
  line-height: 1.3;
  color: var(--bs-heading-color);
}

.compare-plans-table tbody tr:not(.compare-plans-actions) td {
  border-bottom: 1px solid var(--bs-border-color);
}

.compare-plans-feature {
  min-width: 13rem;
  font-size: 0.875rem;
  font-weight: 500;
  color: var(--bs-secondary-color);
}

.compare-plans-feature-text {
  vertical-align: middle;
}

.compare-plans-help {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.05rem;
  height: 1.05rem;
  margin-left: 0.35rem;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: var(--bs-secondary-bg);
  color: var(--bs-secondary-color);
  vertical-align: middle;
  line-height: 1;
}

.compare-plans-help .icon-base {
  font-size: 0.7rem;
}

.compare-plans-help:hover,
.compare-plans-help:focus-visible {
  background: var(--bs-tertiary-bg);
  color: var(--bs-heading-color);
}

.compare-plans-value {
  font-size: 0.9375rem;
  font-weight: 600;
  color: var(--bs-heading-color);
}

.compare-plans-price-row .compare-plans-value {
  padding-top: 1.15rem;
  padding-bottom: 1.15rem;
}

.compare-plans-price {
  display: block;
  font-size: 1.375rem;
  font-weight: 700;
  line-height: 1.2;
  color: var(--bs-heading-color);
}

.compare-plans-period {
  display: block;
  margin-top: 0.2rem;
  font-size: 0.75rem;
  font-weight: 500;
  color: var(--bs-secondary-color);
}

.compare-plans-icon {
  font-size: 1.35rem;
}

.compare-plans-table .is-current {
  background-color: color-mix(in sRGB, var(--bs-primary) 7%, transparent);
}

.compare-plans-actions td {
  padding-top: 1.35rem;
  padding-bottom: 1.5rem;
}

.compare-plans-cta,
.compare-plans-actions .btn {
  min-width: 9.25rem;
  font-weight: 600;
  padding: 0.5rem 1.1rem;
}

.compare-plans-actions .btn:disabled {
  opacity: 1;
  background-color: var(--bs-tertiary-bg);
  color: var(--bs-secondary-color);
  border-color: var(--bs-border-color);
  box-shadow: none;
}

#planify-dialog-modal .modal-body {
  white-space: pre-wrap;
}

.user-profile-header-banner {
  overflow: hidden;
}

.user-profile-header-banner img,
.user-profile-header-banner video {
  display: block;
  width: 100%;
  height: 250px;
  object-fit: cover;
}

@media (max-width: 767.98px) {
  .card:has(.user-profile-header) {
    margin-bottom: 1rem !important;
  }
  .user-profile-header-banner img,
  .user-profile-header-banner video {
    height: 96px;
    block-size: 96px;
  }
  .user-profile-header {
    margin-block-start: -1.5rem;
    margin-bottom: 0.75rem !important;
  }
  .user-profile-header .user-profile-img {
    width: 4.5rem;
    border-width: 3px;
    inline-size: 4.5rem;
  }
  .user-profile-header .flex-grow-1 {
    margin-top: 0.375rem !important;
  }
  .user-profile-header .mx-5 {
    margin-inline: 1rem !important;
    gap: 0.5rem !important;
  }
  .user-profile-header h4 {
    margin-bottom: 0.25rem !important;
    font-size: 1.125rem;
  }
  .user-profile-header .list-inline {
    gap: 0.375rem 0.875rem !important;
    margin-block: 0.25rem !important;
  }
  .user-profile-header .icon-lg {
    font-size: 1.125rem;
    block-size: 1.125rem;
    inline-size: 1.125rem;
  }
  .user-profile-header .badge {
    margin-bottom: 0 !important;
  }
}

.dashboard-hero {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}
.dashboard-hero__top {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 1.75rem;
  flex-wrap: wrap;
}
.dashboard-hero__intro {
  min-width: 0;
  flex: 1 1 18rem;
}
.dashboard-hero__welcome {
  margin: 0 0 1.35rem;
  font-size: 1.5rem;
  font-weight: 700;
  letter-spacing: -0.04em;
  line-height: 1.1;
  color: var(--bs-secondary-color);
}
.dashboard-hero__label {
  margin: 0 0 0.35rem;
  font-size: 0.9375rem;
  font-weight: 500;
  color: var(--bs-secondary-color);
}
.dashboard-hero__value {
  margin: 0;
  /* max-width: 18ch; */
  font-size: clamp(1.65rem, 3vw, 2.5rem);
  font-weight: 700;
  letter-spacing: -0.045em;
  line-height: 1.12;
  color: var(--bs-heading-color);
  overflow-wrap: anywhere;
}
.dashboard-hero__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.65rem 1rem;
  margin-top: 0.85rem;
}
.dashboard-hero__subtitle {
  font-size: 0.875rem;
  color: var(--bs-secondary-color);
}
.dashboard-hero__date {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  font-size: 0.875rem;
  font-weight: 500;
  color: var(--bs-heading-color);
}
.dashboard-hero__date .icon-base {
  font-size: 1rem;
  color: var(--bs-secondary-color);
}
.dashboard-hero__date-sep {
  color: var(--bs-secondary-color);
}
.dashboard-hero__cards {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
}
.dashboard-hero-card {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  width: 11.5rem;
  min-height: 9.75rem;
  padding: 1.15rem 1.2rem 1.05rem;
  border-radius: 1.35rem;
  text-decoration: none;
  transition: transform 0.15s ease;
}
.dashboard-hero-card:hover,
.dashboard-hero-card:focus-visible {
  text-decoration: none;
}
a.dashboard-hero-card:hover,
a.dashboard-hero-card:focus-visible {
  transform: translateY(-2px);
}
.dashboard-hero-card--light {
  background: var(--bs-paper-bg);
  color: var(--bs-heading-color);
  box-shadow: 0 10px 30px rgba(17, 17, 19, 0.06);
}
.dashboard-hero-card--dark {
  background: #2a2a2c;
  color: #fff;
}
.dashboard-hero-card__label {
  font-size: 0.8125rem;
  font-weight: 500;
  color: var(--bs-secondary-color);
}
.dashboard-hero-card--dark .dashboard-hero-card__label {
  color: rgba(255, 255, 255, 0.62);
}
.dashboard-hero-card__value {
  margin: 0.85rem 0 auto;
  font-size: 1.65rem;
  font-weight: 700;
  letter-spacing: -0.04em;
  line-height: 1.15;
}
.dashboard-hero-card__action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  align-self: flex-start;
  min-height: 2rem;
  padding: 0.25rem 0.9rem;
  border-radius: 999px;
  font-size: 0.75rem;
  font-weight: 600;
  background: var(--bs-gray-100);
  color: var(--bs-heading-color);
}
.dashboard-hero-card--dark .dashboard-hero-card__action {
  background: rgba(255, 255, 255, 0.12);
  color: #fff;
}
.dashboard-hero-card__hint {
  display: inline-flex;
  align-items: center;
  min-height: 2rem;
  font-size: 0.75rem;
  font-weight: 500;
  color: rgba(255, 255, 255, 0.62);
}
.dashboard-hero__pills {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.65rem;
  background-color: var(--bs-paper-bg);
  padding: 5px;
  border-radius: 25px;
}
.dashboard-hero-pill {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  min-height: 2.65rem;
  padding: 0.35rem 0.85rem 0.35rem 0.4rem;
  border-radius: 999px;
  background: color-mix(in srgb, var(--bs-secondary-color) 12%, var(--bs-paper-bg));
  color: var(--bs-heading-color);
}
.dashboard-hero-pill__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.85rem;
  height: 1.85rem;
  border-radius: 999px;
  background: var(--bs-paper-bg);
  color: var(--bs-heading-color);
}
.dashboard-hero-pill__icon .icon-base {
  font-size: 0.95rem;
}
.dashboard-hero-pill__text {
  font-size: 0.8125rem;
  font-weight: 600;
  letter-spacing: -0.01em;
  white-space: nowrap;
}
.dashboard-hero-pill__pct {
  margin-left: 0.15rem;
  font-size: 0.8125rem;
  font-weight: 500;
  color: var(--bs-secondary-color);
}
[data-bs-theme=dark] .dashboard-hero-pill__icon {
  background: var(--bs-gray-50);
}
@media (max-width: 767.98px) {
  .dashboard-hero__top {
    flex-direction: column;
    align-items: stretch;
  }
  .dashboard-hero__intro {
    flex: 1 1 auto;
  }
  .dashboard-hero__cards {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.75rem;
    width: 100%;
    min-width: 0;
  }
  .dashboard-hero-card {
    width: auto;
    min-width: 0;
    min-height: 8.25rem;
    padding: 1rem 0.95rem 0.9rem;
  }
  .dashboard-hero-card__hint {
    min-height: 0;
    overflow-wrap: anywhere;
  }
}
.navbar-plan-usage {
  display: flex;
  align-items: center;
  flex: 0 0 auto;
  gap: 0.2rem;
  margin-right: auto;
  padding: 0.28rem 0.35rem;
  border-radius: 999px;
  background: color-mix(in srgb, var(--bs-secondary-color) 9%, var(--bs-paper-bg));
  color: var(--bs-heading-color);
  text-decoration: none;
}
.navbar-plan-usage:hover,
.navbar-plan-usage:focus-visible {
  color: var(--bs-heading-color);
  text-decoration: none;
  background: color-mix(in srgb, var(--bs-secondary-color) 14%, var(--bs-paper-bg));
}
.navbar-plan-usage__item {
  display: inline-flex;
  align-items: center;
  flex: 0 0 auto;
  gap: 0.6rem;
  padding: 0.22rem 0.95rem 0.22rem 0.32rem;
  border-radius: 999px;
}
.navbar-plan-usage__item + .navbar-plan-usage__item {
  position: relative;
  margin-left: 0.15rem;
  padding-left: 1.05rem;
}
.navbar-plan-usage__item + .navbar-plan-usage__item::before {
  content: "";
  position: absolute;
  left: 0;
  top: 22%;
  bottom: 22%;
  width: 1px;
  background: color-mix(in srgb, var(--bs-secondary-color) 22%, transparent);
}
.navbar-plan-usage__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.7rem;
  height: 1.7rem;
  flex: 0 0 auto;
  border-radius: 999px;
  background: var(--bs-paper-bg);
  color: var(--bs-heading-color);
}
.navbar-plan-usage__icon .icon-base {
  font-size: 0.9rem;
}
.navbar-plan-usage__copy {
  display: flex;
  flex-direction: column;
  flex: 0 0 auto;
  gap: 0.08rem;
  line-height: 1.2;
}
.navbar-plan-usage__value {
  font-size: 0.8125rem;
  font-weight: 600;
  letter-spacing: -0.02em;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
.navbar-plan-usage__label {
  font-size: 0.625rem;
  font-weight: 500;
  letter-spacing: 0.01em;
  color: var(--bs-secondary-color);
  white-space: nowrap;
}
.navbar-plan-usage__extra {
  margin-left: 0.28rem;
  font-size: 0.6875rem;
  font-weight: 500;
  color: var(--bs-secondary-color);
}
.navbar-plan-usage__item--warn .navbar-plan-usage__icon,
.navbar-plan-usage__item--full .navbar-plan-usage__icon {
  color: var(--bs-info-text-emphasis);
}
.navbar-plan-usage__item--full .navbar-plan-usage__label {
  color: var(--bs-info-text-emphasis);
}
[data-bs-theme=dark] .navbar-plan-usage__icon {
  background: var(--bs-gray-50);
}
@media (max-width: 1199.98px) {
  .navbar-plan-usage__label {
    display: none;
  }
  .navbar-plan-usage__item {
    padding-right: 0.55rem;
  }
}
@media (max-width: 991.98px) {
  .navbar-plan-usage {
    display: grid;
    align-items: center;
  }
  .navbar-plan-usage__item,
  .navbar-plan-usage__item--departments,
  .navbar-plan-usage__item--members,
  .navbar-plan-usage__item--plan {
    display: inline-flex;
    grid-area: 1 / 1;
    justify-self: start;
    margin-left: 0;
    padding-left: 0.32rem;
    padding-right: 0.55rem;
    opacity: 0;
    animation: navbar-plan-usage-cycle 16s infinite;
  }
  .navbar-plan-usage__item + .navbar-plan-usage__item {
    padding-left: 0;
  }
  .navbar-plan-usage__item + .navbar-plan-usage__item::before {
    content: none;
  }
  .navbar-plan-usage__item:nth-child(1) {
    opacity: 1;
    animation-name: navbar-plan-usage-cycle-first;
    animation-delay: 0s;
  }
  .navbar-plan-usage__item:nth-child(2) {
    animation-delay: 4s;
  }
  .navbar-plan-usage__item:nth-child(3) {
    animation-delay: 8s;
  }
  .navbar-plan-usage__item:nth-child(4) {
    animation-delay: 12s;
  }
  .navbar-plan-usage__label {
    display: block;
  }
  .navbar-plan-usage__extra {
    display: inline;
  }
}
@media (max-width: 991.98px) and (hover: hover) {
  .navbar-plan-usage:hover .navbar-plan-usage__item,
  .navbar-plan-usage:focus-visible .navbar-plan-usage__item {
    animation-play-state: paused;
  }
}
@media (max-width: 991.98px) and (prefers-reduced-motion: reduce) {
  .navbar-plan-usage__item {
    animation: none;
  }
  .navbar-plan-usage__item:nth-child(1) {
    opacity: 1;
  }
}
@keyframes navbar-plan-usage-cycle-first {
  0%,
  21% {
    opacity: 1;
  }
  25%,
  96% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes navbar-plan-usage-cycle {
  0% {
    opacity: 0;
  }
  4%,
  21% {
    opacity: 1;
  }
  25%,
  100% {
    opacity: 0;
  }
}

nav#layout-navbar {
  border-radius: 30px;
  padding-left: 7px;
  padding-right: 10px;
}
#layout-navbar .layout-menu-toggle {
  margin-right: 7px !important;
}
#layout-navbar .layout-menu-toggle .nav-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.7rem;
  height: 2.7rem;
  padding: 0.5rem;
  margin: 0;
  border-radius: 50%;
  background: color-mix(in srgb, var(--bs-secondary-color) 9%, var(--bs-paper-bg));
  color: var(--bs-heading-color);
  line-height: 1;
}
#layout-navbar .layout-menu-toggle .nav-link:hover,
#layout-navbar .layout-menu-toggle .nav-link:focus-visible {
  background: color-mix(in srgb, var(--bs-secondary-color) 14%, var(--bs-paper-bg));
}

/* Mobile bottom navigation */
.mobile-bottom-nav {
  display: none;
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1039;
  justify-content: center;
  padding: 0 12px calc(12px + env(safe-area-inset-bottom, 0px));
  pointer-events: none;
}
.mobile-bottom-nav__pill {
  pointer-events: auto;
  display: flex;
  align-items: center;
  gap: 2px;
  width: 100%;
  max-width: 420px;
  background: #1a1a1a;
  border-radius: 999px;
  padding: 6px;
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.35);
}
.mobile-bottom-nav__item {
  flex: 1 1 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 2px;
  min-width: 0;
  border: none;
  background: transparent;
  color: rgba(255, 255, 255, 0.72);
  padding: 9px 4px;
  border-radius: 999px;
  text-decoration: none;
  font-size: 0.65rem;
  line-height: 1;
  white-space: nowrap;
  transition: background-color 0.15s ease, color 0.15s ease, flex-grow 0.15s ease;
}
.mobile-bottom-nav__item i {
  font-size: 1.2rem;
  line-height: 1;
}
.mobile-bottom-nav__item:hover,
.mobile-bottom-nav__item:focus-visible {
  color: #fff;
}
.mobile-bottom-nav__item .mobile-bottom-nav__label {
  display: none;
}
.mobile-bottom-nav__item--active {
  flex-direction: row;
  flex-grow: 1.6;
  gap: 6px;
  padding: 9px 16px;
  background: #fff;
  color: #111;
}
.mobile-bottom-nav__item--active i {
  font-size: 1.05rem;
}
.mobile-bottom-nav__item--active .mobile-bottom-nav__label {
  display: inline;
  font-size: 0.8rem;
  font-weight: 600;
}
@media (max-width: 767.98px) {
  .mobile-bottom-nav {
    display: flex;
  }
  .layout-content-navbar .content-wrapper {
    padding-bottom: 92px;
  }
}

/* Compact mobile spacing: 8px-grid overrides, text sizes and touch targets untouched */
@media (max-width: 767.98px) {
  .container-p-y.container-p-y {
    padding-block-start: 1rem !important;
    padding-block-end: 1rem !important;
  }
  .card {
    --bs-card-spacer-y: 1rem;
    --bs-card-spacer-x: 1rem;
    --bs-card-cap-padding-y: 1rem;
    --bs-card-cap-padding-x: 0.75rem;
    --bs-card-group-margin: 0.75rem;
  }
  .card-header {
    gap: 0.5rem !important;
  }
  .table > :not(caption) > * > * {
    padding: 0.5rem 0.625rem;
  }
  .table-responsive {
    -webkit-overflow-scrolling: touch;
  }
  .table-responsive .table th,
  .table-responsive .table td {
    white-space: nowrap;
  }
  table.dataTable th:first-child,
  table.dataTable td:first-child,
  table.dataTable thead th:first-child,
  table.dataTable thead td:first-child,
  table.dataTable tfoot th:first-child,
  table.dataTable tfoot td:first-child {
    padding-inline: 0.625rem !important;
  }
  table.dataTable td.control,
  table.dataTable th.control,
  table.dataTable td.dt-control,
  table.dataTable td.dtr-control {
    width: 2rem !important;
    min-width: 2rem !important;
    max-width: 2rem !important;
    padding-inline: 0.25rem !important;
    text-align: center;
  }
  table.dataTable td.dt-select,
  table.dataTable th.dt-select {
    width: 2rem !important;
    min-width: 2rem !important;
    max-width: 2rem !important;
    padding-inline: 0.2rem !important;
    text-align: center;
  }
  .datatables-departments th.dt-select,
  .datatables-departments td.dt-select {
    width: 2rem !important;
    max-width: 2rem !important;
  }
  table.dataTable th.dt-actions,
  table.dataTable td.dt-actions {
    width: 1% !important;
    min-width: 5rem !important;
    max-width: none !important;
    padding-inline: 0.5rem 0.75rem !important;
    vertical-align: middle;
    white-space: nowrap;
    overflow: visible;
  }
  table.dataTable thead th.dt-actions {
    font-size: inherit;
  }
  table.dataTable td.dt-actions .labeled-dropdown-label,
  table.dataTable td.dt-actions .dropdown-toggle::after {
    display: none;
  }
  table.dataTable td.dt-actions .btn {
    padding: 0.35rem;
    min-width: 2rem;
    border: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
  }
  #dashboard-messaging-insights .border-start {
    border-inline-start: 0 !important;
  }
  .btn:not(.btn-sm) {
    --bs-btn-padding-y: 0.5625rem;
    --bs-btn-padding-x: 1rem;
  }
  nav#layout-navbar {
    padding-left: 5px;
    padding-right: 6px;
  }
  #layout-navbar .layout-menu-toggle .nav-link {
    width: 2.5rem;
    height: 2.5rem;
  }
  .mobile-bottom-nav__item {
    padding: 8px 4px;
  }
  div.dt-container .card-header {
    padding-block: 0.75rem;
  }
  div.dt-container div.dt-length,
  div.dt-container div.dt-search {
    margin-block: 0;
  }
  div.dt-container .row:has(.dt-search):has(.dt-length),
  div.dt-container .row:has(.dt-info),
  div.dt-container .row:has(.dt-paging) {
    padding-inline: 0.75rem;
  }
  div.dt-container .announcements-dt-search {
    padding-inline: 0.75rem;
    padding-block: 0.5rem 0.75rem;
  }
  .card-datatable.table-responsive {
    overflow: visible;
  }
  .account-billing-history .card-datatable.table-responsive {
    min-width: 0;
    width: auto;
    margin-inline: 0.75rem;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  .account-billing-history .card-footer {
    padding: 0.75rem;
  }
  .account-billing-history .card-header {
    padding-inline: 0.75rem;
  }
  div.dt-container > div.row > div:has(> table.dataTable),
  div.dt-container > .table-responsive:has(> table.dataTable) {
    min-width: 0;
    margin-inline: 0.75rem;
    padding-inline: 0;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  div.dt-container > div.row > div:has(> table.dataTable) {
    width: calc(100% - 1.5rem) !important;
    max-width: calc(100% - 1.5rem);
  }
  div.dt-container > div.row > div:has(> table.dataTable) > table.dataTable,
  div.dt-container > .table-responsive:has(> table.dataTable) > table.dataTable {
    margin-inline: 0;
    width: 100% !important;
  }
  div.dt-container div.dt-info {
    padding-block: 0.5rem 0;
    font-size: 0.75rem;
  }
  div.card-datatable {
    padding-block-end: 0.5rem;
  }
  .dt-paging ul.pagination .page-link,
  .planify-pagination .page-link {
    padding: 0.3rem 0.45rem;
    font-size: 0.75rem;
  }
  .planify-pagination .page-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 2rem;
  }
}
.form-control,
.form-select,
input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="file"]):not([type="color"]):not([type="hidden"]),
textarea,
select {
  font-family: var(--bs-font-sans-serif);
}

input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active,
input:autofill,
textarea:-webkit-autofill,
textarea:-webkit-autofill:hover,
textarea:-webkit-autofill:focus,
textarea:-webkit-autofill:active,
textarea:autofill,
select:-webkit-autofill,
select:-webkit-autofill:hover,
select:-webkit-autofill:focus,
select:-webkit-autofill:active {
  font-family: var(--bs-font-sans-serif) !important;
  -webkit-text-fill-color: #333333 !important;
  caret-color: #333333;
  transition: background-color 5000s ease-in-out 0s;
}

input:-webkit-autofill::first-line,
input:autofill::first-line,
textarea:-webkit-autofill::first-line,
textarea:autofill::first-line {
  font-family: "Inter Tight", sans-serif;
  font-size: inherit;
  font-weight: inherit;
  letter-spacing: inherit;
}

input::-internal-input-suggested,
textarea::-internal-input-suggested {
  font: inherit !important;
  font-family: "Inter Tight", sans-serif !important;
}
.shepherd-element.planify-tour .shepherd-content {
  padding: 0 !important;
}
/* RESPONSIVE STYLES */

@media (max-width: 767.98px) {
  .btn:not(.btn-icon):not(.btn-sm):not(.btn-lg):not(.btn-xl):not(.planner-position-select) {
    padding-block: 0.45rem;
  }
  .btn.btn-sm:not(.btn-icon):not(.planner-position-select) {
    padding-block: 0.45rem;
  }
  .btn.btn-icon:not(.btn-sm):not(.btn-lg):not(.btn-xl) {
    block-size: 44px;
    inline-size: 44px;
  }
  .position-row-tools .btn.btn-icon:not(.btn-sm):not(.btn-lg):not(.btn-xl) {
    block-size: 38px;
    inline-size: 38px;
  }
  #layout-navbar .btn.btn-icon {
    block-size: 2.5rem;
    inline-size: 2.5rem;
  }
  div.dt-container .card-header .dt-buttons .btn {
    padding-block: 0.45rem;
  }
  table.dataTable td.dt-actions .btn,
  table.dataTable td.dt-actions .btn.btn-sm {
    padding-block: 0.35rem;
  }
  .btn.btn-icon.btn-sm,
  table.dataTable td.dt-actions .btn {
    position: relative;
  }
  .btn.btn-icon.btn-sm::after,
  table.dataTable td.dt-actions .btn::after {
    position: absolute;
    top: 50%;
    left: 50%;
    display: block;
    block-size: 44px;
    inline-size: 44px;
    margin: 0;
    border: 0;
    content: "";
    transform: translate(-50%, -50%);
  }
}

.planner-receipt-tip {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.planner-receipt-tip:has(.planner-position-dropdown) {
  display: block;
  width: 100%;
}

.event-slide__member-badge-tip {
  display: inline-flex;
}

.popover.wa-receipt-popover {
  --bs-popover-max-width: 16.5rem;
  --bs-popover-font-size: 0.75rem;
  --bs-popover-header-padding-y: 0.2rem;
  --bs-popover-header-padding-x: 0.55rem;
  --bs-popover-body-padding-y: 0.35rem;
  --bs-popover-body-padding-x: 0.55rem;
  z-index: 980;
}

body.modal-open .popover.wa-receipt-popover {
  z-index: 1095;
}

.popover.wa-receipt-popover .popover-header {
  display: none;
}

.wa-receipt {
  display: grid;
  gap: 0.15rem;
  min-width: 10.5rem;
}

.wa-receipt__row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.55rem;
}

.wa-receipt__label {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  font-weight: 600;
  font-size: 0.75rem;
}

.wa-receipt__time {
  color: var(--bs-secondary-color);
  font-size: 0.8125rem;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

.wa-receipt__ticks {
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1;
}

.wa-receipt__ticks--sent,
.wa-receipt__ticks--delivered {
  color: #8b97a3;
}

.wa-receipt__ticks--read {
  color: #53bdeb;
}

.wa-receipt__activate {
  margin-top: 0.35rem;
  padding-top: 0.4rem;
  border-top: 1px solid var(--bs-border-color);
}

.wa-receipt__hint {
  color: var(--bs-secondary-color);
  font-size: 0.75rem;
  line-height: 1.3;
}


.event-slide__member-name button {
  border: none;
  transform: none;
  transition: none;
  line-height: 1;
}

/* The hidden dropdown-menu between the toggle and the number input confuses the
   theme's :last-child based input-group radius/border rules, so the number field
   loses its end-side border and rounding. Force it back explicitly. */
.planify-phone-prefix .input-group-merge [data-phone-national] {
  border-start-end-radius: var(--bs-border-radius) !important;
  border-end-end-radius: var(--bs-border-radius) !important;
  border-inline-end-width: var(--bs-border-width) !important;
  border-inline-end-style: solid !important;
  border-inline-end-color: var(--bs-border-color) !important;
}
.planify-phone-prefix .input-group-merge.disabled [data-phone-national] {
  border-inline-end-color: var(--bs-input-group-disabled-border-color) !important;
}
.planify-phone-prefix .input-group-merge:focus-within,
.planify-phone-prefix .input-group-merge:focus-within::before {
  box-shadow: none;
}
.planify-phone-prefix .input-group-merge:focus-within:not(:has(.is-invalid)) > [data-phone-prefix-toggle] {
  border-color: var(--bs-input-group-addon-border-color);
}
.planify-phone-prefix .input-group-merge:focus-within:not(:has(.is-invalid)) > [data-phone-national] {
  border-color: var(--bs-border-color);
}
.planify-phone-prefix .input-group-merge:has(.is-invalid) > [data-phone-prefix-toggle],
.planify-phone-prefix .input-group-merge:has(.is-invalid) > [data-phone-national] {
  border-color: var(--bs-form-validation-border-color) !important;
}
label.form-check-label a {
    text-decoration: underline;
}

.event-slide__status-split {
  display: inline-flex;
  align-items: stretch;
  flex-shrink: 0;
}
.event-slide__status-split > .event-slide__member-badge-tip {
  display: inline-flex;
}
.event-slide__status-split .event-slide__member-badge {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
.event-slide__vote-menu-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  padding-right: 0.25rem;
  padding-left: 0.25rem;
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
  box-shadow: inset 1px 0 0 color-mix(in srgb, currentColor 14%, transparent);
  cursor: pointer;
  transition: opacity 0.15s ease;
}
.event-slide__vote-menu-toggle .icon-base {
  font-size: 0.75rem;
  line-height: 1;
  opacity: 0.6;
}
.event-slide__vote-menu-toggle:hover,
.event-slide__vote-menu-toggle:focus-visible,
.event-slide__vote-menu-toggle.show {
  opacity: 0.8;
}
.popover.planner-vote-popover {
  --bs-popover-max-width: 12rem;
  --bs-popover-border-radius: var(--bs-border-radius);
  z-index: 980;
}
.popover.planner-vote-popover .popover-header {
  display: none;
}
.popover.planner-vote-popover .popover-body {
  padding: 0.25rem;
}
.planner-vote-menu {
  display: grid;
  gap: 0.0625rem;
  min-width: 7.5rem;
}
.planner-vote-menu .dropdown-item {
  display: flex;
  align-items: center;
  padding: 0.3125rem 0.5rem;
  font-size: 0.8125rem;
  line-height: 1.25;
  color: var(--bs-body-color);
  white-space: nowrap;
  border-radius: var(--bs-border-radius-sm);
  transition: background-color 0.15s ease, color 0.15s ease;
}
.planner-vote-menu .dropdown-item:hover,
.planner-vote-menu .dropdown-item:focus-visible {
  color: var(--bs-primary);
  background-color: rgba(var(--bs-primary-rgb), 0.08);
}
.planner-vote-menu__icon {
  flex-shrink: 0;
  margin-right: 0.375rem;
  font-size: 0.9375rem;
}
[data-bs-theme=dark] {
  --planify-check-on: #16a34a;
  --planify-check-off: #dc2626;
  --planify-check-icon-on: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 15 14' fill='none'%3E%3Cpath d='M3.4 7l2.9 2.9 5.8-5.8' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  --planify-check-icon-off: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 15 14' fill='none'%3E%3Cpath d='M4.5 3.5l6 7M10.5 3.5l-6 7' stroke='%23fff' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");
}

[data-bs-theme=dark] .form-check-input[type="checkbox"]:not(.form-switch .form-check-input, [role="switch"]) {
  border-color: var(--planify-check-off);
  background-color: var(--planify-check-off);
  background-image: var(--planify-check-icon-off);
  box-shadow: none;
}

[data-bs-theme=dark] .form-check-input[type="checkbox"]:not(.form-switch .form-check-input, [role="switch"]):checked {
  border-color: var(--planify-check-on);
  background-color: var(--planify-check-on);
  background-image: var(--planify-check-icon-on);
  box-shadow: none;
}

[data-bs-theme=dark] .form-switch .form-check-input:not(:checked),
[data-bs-theme=dark] .form-check-input[role="switch"]:not(:checked) {
  background-color: var(--planify-check-off);
  box-shadow: none;
}

[data-bs-theme=dark] .form-switch .form-check-input:checked,
[data-bs-theme=dark] .form-check-input[role="switch"]:checked {
  border-color: var(--planify-check-on);
  background-color: var(--planify-check-on);
  box-shadow: none;
}
