.group-form-tabs {
  border-bottom: 1px solid #e5e7ef;
  max-width: 100%;
  min-width: 0;
  overflow: hidden;
  width: 100%;
}

.group-form-tabs__nav {
  flex-wrap: nowrap;
  gap: 0.125rem;
  margin: 0;
  max-width: 100%;
  min-width: 0;
  overflow-x: auto;
  overflow-y: hidden;
  padding: 0;
  scrollbar-width: thin;
  width: 100%;
}

.group-form-tabs__nav .nav-item {
  flex: 0 0 auto;
}

.group-form-tabs__nav .nav-link {
  min-height: 48px;
  padding: 0.75rem 0.6rem;
  white-space: nowrap;
}

.group-form-tabs__nav .nav-link:focus-visible {
  box-shadow: inset 0 0 0 2px #435ebe;
  outline: 2px solid transparent;
}

.group-form-tabs__nav .nav-link i {
  font-size: 1rem;
}

.group-form-tabs__content {
  max-width: 100%;
  min-width: 0;
  width: 100%;
}

.group-general-tab .input-group,
.group-general-tab .input-group-text.group-categories {
  min-width: 0;
}

.group-general-tab .input-group-text.group-categories {
  align-content: flex-start;
  display: flex;
  flex: 1 1 auto;
  flex-wrap: wrap;
  overflow-wrap: anywhere;
}

.group-form-tabs__content .note-editor {
  max-width: 100%;
  width: 100%;
}

body.theme-dark .group-form-tabs {
  border-bottom-color: #35354f;
}

.attendance-item--readonly,
.attendance-item--readonly:hover {
  cursor: default;
}

.group-agenda {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

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

.group-agenda__title {
  align-items: flex-start;
  display: flex;
  gap: .85rem;
  min-width: 0;
}

.group-agenda__icon {
  align-items: center;
  background: #eef2ff;
  border-radius: 8px;
  color: #435ebe;
  display: inline-flex;
  flex: 0 0 42px;
  height: 42px;
  justify-content: center;
}

.group-agenda__title h5 {
  color: #25324b;
  font-size: 1.05rem;
  font-weight: 800;
  margin: 0;
}

.group-agenda__title p {
  color: #6f7b93;
  font-size: .84rem;
  margin: .25rem 0 0;
}

.group-agenda__actions,
.group-agenda__form-actions,
.group-meeting-card__actions,
.group-attendance-panel__tools,
.group-attendance-row__actions {
  align-items: center;
  display: flex;
  gap: .5rem;
}

.group-agenda__actions {
  flex-wrap: wrap;
  justify-content: flex-end;
}

.group-agenda__summary {
  display: grid;
  gap: .75rem;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.group-agenda__summary-item {
  background: #f8fafc;
  border: 1px solid #e7ebf3;
  border-radius: 8px;
  min-width: 0;
  padding: .85rem;
}

.group-agenda__summary-item span {
  color: #25324b;
  display: block;
  font-size: 1.35rem;
  font-weight: 800;
  line-height: 1;
}

.group-agenda__summary-item small {
  color: #6f7b93;
  display: block;
  font-size: .75rem;
  font-weight: 700;
  margin-top: .35rem;
}

.group-agenda__autosave {
  align-items: center;
  color: #6f7b93;
  display: flex;
  font-size: .78rem;
  font-weight: 700;
  min-height: 22px;
}

.group-agenda__autosave span {
  align-items: center;
  display: inline-flex;
  gap: .4rem;
}

.group-agenda__autosave .spinner-border {
  height: .85rem;
  width: .85rem;
}

.group-agenda__autosave-success {
  color: #1f7a4d;
}

.group-agenda__autosave-error {
  color: #a83434;
}

.group-agenda__form,
.group-meeting-card {
  background: #fff;
  border: 1px solid #e3e8f2;
  border-radius: 8px;
  box-shadow: 0 8px 20px rgba(31, 45, 61, .05);
}

.group-agenda__form {
  padding: 1rem;
}

.group-agenda__form-header {
  align-items: flex-start;
  display: flex;
  gap: 1rem;
  justify-content: space-between;
  margin-bottom: 1rem;
}

.group-agenda__form-header strong {
  color: #25324b;
  display: block;
  font-size: .98rem;
}

.group-agenda__form-header span {
  color: #6f7b93;
  display: block;
  font-size: .8rem;
  margin-top: .15rem;
}

.group-agenda__form-actions {
  justify-content: flex-end;
  margin-top: 1rem;
}

.group-agenda__state,
.group-agenda__empty {
  align-items: center;
  background: #f8fafc;
  border: 1px dashed #d8deea;
  border-radius: 8px;
  color: #6f7b93;
  display: flex;
  gap: .65rem;
  padding: 1rem;
}

.group-agenda__state--error {
  background: #fff5f5;
  border-color: #f0bcbc;
  color: #a83434;
}

.group-agenda__empty {
  flex-direction: column;
  justify-content: center;
  min-height: 170px;
  text-align: center;
}

.group-agenda__empty i {
  color: #435ebe;
  font-size: 1.8rem;
}

.group-agenda__empty strong {
  color: #25324b;
}

.group-agenda__empty-inline {
  background: #f8fafc;
  border-radius: 6px;
  color: #6f7b93;
  font-size: .82rem;
  margin: .75rem 0 0;
  padding: .75rem;
}

.group-agenda__weeks {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.group-agenda-week {
  display: flex;
  flex-direction: column;
  gap: .75rem;
}

.group-agenda-week__header {
  align-items: center;
  border-bottom: 1px solid #e7ebf3;
  display: flex;
  justify-content: space-between;
  padding-bottom: .5rem;
}

.group-agenda-week__header span {
  color: #25324b;
  font-size: .92rem;
  font-weight: 800;
}

.group-agenda-week__header small {
  color: #7c8aa5;
  font-size: .76rem;
  font-weight: 700;
}

.group-agenda-day {
  display: grid;
  gap: .75rem;
  grid-template-columns: 112px minmax(0, 1fr);
}

.group-agenda-day__label {
  color: #25324b;
  padding-top: .95rem;
}

.group-agenda-day__label strong,
.group-agenda-day__label span {
  display: block;
}

.group-agenda-day__label strong {
  font-size: .88rem;
  font-weight: 800;
}

.group-agenda-day__label span {
  color: #7c8aa5;
  font-size: .78rem;
  margin-top: .15rem;
}

.group-meeting-card {
  display: flex;
  flex-direction: column;
  gap: .85rem;
  padding: 1rem;
}

.group-meeting-card__main {
  align-items: flex-start;
  display: grid;
  gap: .9rem;
  grid-template-columns: 88px minmax(0, 1fr);
}

.group-meeting-card__time strong {
  color: #25324b;
  display: block;
  font-size: 1.25rem;
  line-height: 1;
}

.group-meeting-card__time span {
  border-radius: 999px;
  display: inline-flex;
  font-size: .68rem;
  font-weight: 800;
  margin-top: .45rem;
  padding: .22rem .5rem;
}

.group-meeting-card__time .is-scheduled {
  background: #edf1ff;
  color: #435ebe;
}

.group-meeting-card__time .is-finished {
  background: #e8f6ef;
  color: #1f7a4d;
}

.group-meeting-card__content {
  min-width: 0;
}

.group-meeting-card__content h6 {
  color: #25324b;
  font-size: .98rem;
  font-weight: 800;
  margin: 0;
  overflow-wrap: anywhere;
}

.group-meeting-card__content p {
  color: #6f7b93;
  font-size: .8rem;
  margin: .2rem 0 0;
}

.group-meeting-card__metrics {
  display: grid;
  gap: .5rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.group-meeting-card__metrics span {
  background: #f8fafc;
  border: 1px solid #e7ebf3;
  border-radius: 6px;
  color: #6f7b93;
  font-size: .76rem;
  font-weight: 700;
  padding: .55rem .65rem;
}

.group-meeting-card__metrics strong {
  color: #25324b;
  font-size: .95rem;
}

.group-meeting-card__actions {
  justify-content: flex-end;
}

.group-attendance-panel {
  border-top: 1px solid #edf0f6;
  padding-top: .85rem;
}

.group-attendance-panel__toolbar {
  align-items: flex-start;
  display: flex;
  gap: .75rem;
  justify-content: space-between;
}

.group-attendance-panel__toolbar strong {
  color: #25324b;
  display: block;
  font-size: .88rem;
}

.group-attendance-panel__toolbar span {
  color: #7c8aa5;
  display: block;
  font-size: .76rem;
  margin-top: .15rem;
}

.group-attendance-panel__tools {
  flex-wrap: wrap;
  justify-content: flex-end;
}

.group-attendance-panel__tools .input-group {
  width: 240px;
}

.group-attendance-list {
  display: flex;
  flex-direction: column;
  gap: .5rem;
  margin-top: .75rem;
}

.group-attendance-row {
  align-items: center;
  background: #f8fafc;
  border: 1px solid #e7ebf3;
  border-radius: 8px;
  display: grid;
  gap: .75rem;
  grid-template-columns: minmax(0, 1fr) 92px 188px;
  padding: .65rem;
}

.group-attendance-row__person {
  align-items: center;
  display: flex;
  gap: .65rem;
  min-width: 0;
}

.group-attendance-row__person > span {
  align-items: center;
  background: #eef2ff;
  border-radius: 50%;
  color: #435ebe;
  display: inline-flex;
  flex: 0 0 34px;
  font-size: .72rem;
  font-weight: 800;
  height: 34px;
  justify-content: center;
}

.group-attendance-row__person strong,
.group-attendance-row__person small {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.group-attendance-row__person strong {
  color: #25324b;
  font-size: .84rem;
}

.group-attendance-row__person small {
  color: #7c8aa5;
  font-size: .72rem;
}

.group-attendance-row__status {
  background: #edf0f5;
  border-radius: 999px;
  color: #69748a;
  font-size: .72rem;
  font-weight: 800;
  justify-self: start;
  padding: .28rem .6rem;
}

.group-attendance-row__status.is-present {
  background: #e8f6ef;
  color: #1f7a4d;
}

.group-attendance-row__actions {
  justify-content: flex-end;
}

body.theme-dark .group-agenda__icon,
body.theme-dark .group-meeting-card__time .is-scheduled,
body.theme-dark .group-attendance-row__person > span {
  background: #303551;
  color: #c3cbff;
}

body.theme-dark .group-agenda__title h5,
body.theme-dark .group-agenda__summary-item span,
body.theme-dark .group-agenda__form-header strong,
body.theme-dark .group-agenda__empty strong,
body.theme-dark .group-agenda-week__header span,
body.theme-dark .group-agenda-day__label,
body.theme-dark .group-meeting-card__time strong,
body.theme-dark .group-meeting-card__content h6,
body.theme-dark .group-meeting-card__metrics strong,
body.theme-dark .group-attendance-panel__toolbar strong,
body.theme-dark .group-attendance-row__person strong {
  color: #f3f4ff;
}

body.theme-dark .group-agenda__title p,
body.theme-dark .group-agenda__summary-item small,
body.theme-dark .group-agenda__autosave,
body.theme-dark .group-agenda__form-header span,
body.theme-dark .group-agenda__state,
body.theme-dark .group-agenda__empty,
body.theme-dark .group-agenda__empty-inline,
body.theme-dark .group-agenda-week__header small,
body.theme-dark .group-agenda-day__label span,
body.theme-dark .group-meeting-card__content p,
body.theme-dark .group-meeting-card__metrics span,
body.theme-dark .group-attendance-panel__toolbar span,
body.theme-dark .group-attendance-row__person small {
  color: #a7aac2;
}

body.theme-dark .group-agenda__summary-item,
body.theme-dark .group-agenda__form,
body.theme-dark .group-agenda__state,
body.theme-dark .group-agenda__empty,
body.theme-dark .group-agenda__empty-inline,
body.theme-dark .group-meeting-card,
body.theme-dark .group-meeting-card__metrics span,
body.theme-dark .group-attendance-row {
  background: #1e1e2d;
  border-color: #35354f;
}

body.theme-dark .group-agenda-week__header,
body.theme-dark .group-attendance-panel {
  border-color: #35354f;
}

body.theme-dark .group-meeting-card__time .is-finished,
body.theme-dark .group-attendance-row__status.is-present {
  background: #1d3d3b;
  color: #8dd5cf;
}

body.theme-dark .group-attendance-row__status {
  background: #2b2b3f;
  color: #c4c6d7;
}

body.theme-dark .group-agenda__state--error {
  background: #3d2428;
  border-color: #663840;
  color: #f1b2b8;
}

body.theme-dark .group-agenda__autosave-error {
  color: #f1b2b8;
}

body.theme-dark .group-agenda__autosave-success {
  color: #8dd5cf;
}

@media (max-width: 767px) {
  .group-form-tabs {
    margin-left: -0.25rem;
    margin-right: -0.25rem;
  }

  .group-form-tabs__nav .nav-link {
    min-height: 46px;
    padding: 0.65rem 0.75rem;
  }

  .group-general-tab > .row > [class*="col"] {
    flex: 0 0 auto;
    width: 100%;
  }

  .group-general-tab .form-group {
    margin-bottom: 1rem;
  }

  .group-general-tab .input-group {
    width: 100%;
  }

  .form-actions > [class*="col"] {
    flex: 0 0 auto;
    justify-content: flex-start !important;
    width: 100%;
  }

  .form-actions .btn {
    flex: 1 1 auto;
  }

  .group-agenda__header,
  .group-attendance-panel__toolbar {
    align-items: stretch;
    flex-direction: column;
  }

  .group-agenda__actions,
  .group-agenda__form-actions,
  .group-meeting-card__actions,
  .group-attendance-panel__tools,
  .group-attendance-row__actions {
    align-items: stretch;
    flex-direction: column;
    width: 100%;
  }

  .group-agenda__actions .btn,
  .group-agenda__form-actions .btn,
  .group-meeting-card__actions .btn,
  .group-attendance-panel__tools .btn,
  .group-attendance-row__actions .btn {
    justify-content: center;
    width: 100%;
  }

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

  .group-agenda-day,
  .group-meeting-card__main,
  .group-attendance-row {
    grid-template-columns: minmax(0, 1fr);
  }

  .group-agenda-day__label {
    padding-top: 0;
  }

  .group-meeting-card__metrics {
    grid-template-columns: minmax(0, 1fr);
  }

  .group-attendance-panel__tools .input-group {
    width: 100%;
  }
}

.group-participant-list {
  margin-bottom: 1rem;
}

.group-participant-segments {
  align-items: center;
  background: #f4f6fa;
  border-bottom: 1px solid #e7eaf0;
  display: flex;
  gap: .25rem;
  padding: .65rem 1.25rem;
}

.group-participant-segments__button {
  align-items: center;
  background: transparent;
  border: 1px solid transparent;
  border-radius: 5px;
  color: #65728a;
  display: inline-flex;
  font-size: .82rem;
  font-weight: 700;
  gap: .5rem;
  min-height: 38px;
  padding: .45rem .7rem;
}

.group-participant-segments__button span {
  background: #e5e9f1;
  border-radius: 10px;
  color: #59657c;
  font-size: .7rem;
  min-width: 24px;
  padding: .15rem .4rem;
  text-align: center;
}

.group-participant-segments__button:hover,
.group-participant-segments__button:focus-visible {
  background: #fff;
  border-color: #dce2ee;
  color: #25324b;
}

.group-participant-segments__button:focus-visible {
  box-shadow: 0 0 0 3px rgba(67, 94, 190, .2);
  outline: none;
}

.group-participant-segments__button.is-active {
  background: #fff;
  border-color: #ccd4e3;
  box-shadow: 0 1px 3px rgba(31, 45, 61, .08);
  color: #435ebe;
}

.group-participant-segments__button.is-active span {
  background: #edf1ff;
  color: #435ebe;
}

.group-participant-waiting-notice {
  align-items: center;
  background: #fff8e5;
  border-bottom: 1px solid #f1dfac;
  color: #7a5a00;
  display: flex;
  font-size: .8rem;
  gap: .5rem;
  padding: .65rem 1.25rem;
}

.group-participant-toolbar-controls {
  align-items: center;
  display: flex;
  flex: 1 1 620px;
  gap: .75rem;
  justify-content: flex-end;
  min-width: 0;
}

.group-participant-toolbar-controls .entity-list__search {
  flex: 1 1 420px;
  max-width: 520px;
}

.group-participant-add {
  flex: 0 0 auto;
  white-space: nowrap;
}

.group-participant-list .entity-list__columns,
.group-participant-list .entity-list__row,
.group-participant-list .entity-list__skeleton-row {
  gap: .75rem;
  grid-template-columns: minmax(220px, 1.65fr) minmax(0, 1fr) minmax(0, .75fr) minmax(0, 1fr) minmax(0, .8fr) 42px;
}

.group-participant-avatar-fallback {
  align-items: center;
  color: #435ebe;
  display: inline-flex;
  font-size: .78rem;
  font-weight: 800;
  justify-content: center;
}

.group-participant-contact > span:last-child,
.group-participant-list .entity-list__cell--cpf > span:last-child {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.group-participant-account {
  align-items: flex-start;
  display: flex;
  flex-direction: column;
  gap: .25rem;
}

.group-participant-account small {
  color: #7c8aa5;
  font-size: .7rem;
}

.group-participant-joint-badge {
  align-items: center;
  background: #e7f5f4;
  border-radius: 4px;
  color: #176b65;
  display: inline-flex;
  font-size: .72rem;
  font-weight: 700;
  gap: .3rem;
  padding: .3rem .45rem;
}

.group-participant-list .entity-list__actions {
  min-height: 36px;
}

.group-participant-user-select--loading {
  opacity: .7;
  pointer-events: none;
}

body.theme-dark .group-participant-segments {
  background: #242436;
  border-color: #35354f;
}

body.theme-dark .group-participant-segments__button {
  color: #a7aac2;
}

body.theme-dark .group-participant-segments__button span {
  background: #35354f;
  color: #c4c6d7;
}

body.theme-dark .group-participant-segments__button:hover,
body.theme-dark .group-participant-segments__button:focus-visible,
body.theme-dark .group-participant-segments__button.is-active {
  background: #1e1e2d;
  border-color: #484861;
  color: #aebaff;
}

body.theme-dark .group-participant-segments__button.is-active span {
  background: #303551;
  color: #c3cbff;
}

body.theme-dark .group-participant-waiting-notice {
  background: #39321f;
  border-color: #554a2c;
  color: #e7ca75;
}

body.theme-dark .group-participant-account small {
  color: #a7aac2;
}

body.theme-dark .group-participant-joint-badge {
  background: #1d3d3b;
  color: #8dd5cf;
}

@media (max-width: 767.98px) {
  .group-participant-segments {
    padding: .65rem .9rem;
  }

  .group-participant-segments__button {
    flex: 1 1 50%;
    justify-content: center;
    min-width: 0;
  }

  .group-participant-waiting-notice {
    align-items: flex-start;
    padding: .65rem .9rem;
  }

  .group-participant-toolbar-controls {
    align-items: stretch;
    flex-basis: auto;
    flex-direction: column;
    width: 100%;
  }

  .group-participant-toolbar-controls .entity-list__search {
    flex-basis: auto;
    max-width: none;
  }

  .group-participant-add {
    justify-content: center;
    width: 100%;
  }

  .group-participant-list .entity-list__row {
    gap: .65rem .75rem;
    grid-template-columns: minmax(0, 1fr) 40px;
  }

  .group-participant-list .entity-list__person {
    grid-column: 1;
  }

  .group-participant-list .entity-list__actions {
    grid-column: 2;
    grid-row: 1;
  }

  .group-participant-list .entity-list__cell {
    align-items: center;
    flex-direction: row;
    grid-column: 1 / -1;
  }

  .group-participant-list .entity-list__mobile-label {
    flex: 0 0 64px;
  }

  .group-participant-list .entity-list__footer {
    align-items: stretch;
    flex-direction: column;
  }

  .group-participant-list .entity-list__page-size {
    flex-wrap: wrap;
  }

  .group-participant-list .entity-list__pagination {
    align-self: center;
    max-width: 100%;
  }
}
