@use "../../../../styles/abstracts/variables";
@use "../../../../styles/abstracts/mixins";

.adminContact {
  @include mixins.adminPageIntro;

  margin-top: 1rem;

  width: 100%;

  overflow-x: hidden;
}

/* ==========================================
STATS
========================================== */

.statsGrid {
  display: grid;

  grid-template-columns: repeat(3, 1fr);

  gap: 1rem;

  margin-bottom: 1.25rem;

  @media (max-width: 900px) {
    grid-template-columns: 1fr;
  }
}

.statCard {
  padding: .8rem 1.25rem;

  border-radius: 14px;

  background: rgba(255,255,255,.02);

  border: 1px solid rgba(255,255,255,.05);

  h4 {
    font-size: .8rem;

    color: #9ca3af;

    margin-bottom: .6rem;
  }

  h2 {
    font-size: 1.2rem;

    font-weight: 600;

    color: white;
  }
}

/* ==========================================
FILTERS
========================================== */

.adminContact__filters {
  display: flex;

  gap: .75rem;

  margin-bottom: 1.25rem;

  button {
    height: 40px;

    padding: 0 1.2rem;

    border-radius: 10px;

    border: 1px solid rgba(255,255,255,.06);

    background: rgba(255,255,255,.03);

    color: #bfc7d3;

    cursor: pointer;

    font-size: .8rem;

    font-weight: 500;

    transition: .25s;
  }

  .active {
    background: variables.$col-orange;

    color: variables.$col-dark;

    border-color: transparent;
  }
}

/* ==========================================
TABLE CARD
========================================== */

.adminContact__tableCard {
  border-radius: 18px;

  overflow: hidden;

  background: linear-gradient(
    180deg,
    rgba(22,22,24,.98) 0%,
    rgba(15,15,18,1) 100%
  );

  border: 1px solid rgba(255,255,255,.05);
}

.adminContact__tableWrapper {
  overflow-x: auto;

  &::-webkit-scrollbar {
    height: 6px;
  }
}

.adminContact__table {
  min-width: 1100px;
}

/* ==========================================
HEADER
========================================== */

.tableHeader {
  display: grid;

  grid-template-columns:
    180px
    260px
    250px
    120px
    180px
    220px;

  padding: 1rem 1.25rem;

  border-bottom: 1px solid rgba(255,255,255,.06);

  font-size: .72rem;

  text-transform: uppercase;

  letter-spacing: .08em;

  color: #7f8897;

  font-weight: 600;
}

/* ==========================================
ROWS
========================================== */

.tableRow {
  display: grid;

  grid-template-columns:
    180px
    260px
    250px
    120px
    180px
    220px;

  padding: 1rem 1.25rem;

  align-items: center;

  border-bottom: 1px solid rgba(255,255,255,.04);

  transition: .25s;

  &:hover {
    background: rgba(255,255,255,.02);
  }

  div {
    color: #d7dbe4;

    font-size: .82rem;
  }
}

/* ==========================================
STATUS
========================================== */

.statusUnread,
.statusRead {
  display: inline-flex;

  align-items: center;

  justify-content: center;

  padding: .4rem .75rem;

  border-radius: 999px;

  font-size: .72rem;

  font-weight: 600;
}

.statusUnread {
  background: rgba(
    247,
    147,
    26,
    .12
  );

  color: variables.$col-orange;
}

.statusRead {
  background: rgba(
    46,
    171,
    91,
    .12
  );

  color: #2eab5b;
}

/* ==========================================
ACTIONS
========================================== */

.actions {
  display: flex;

  gap: .45rem;
}

.viewBtn,
.markReadBtn,
.deleteBtn {
  height: 34px;

  border: none;

  border-radius: 8px;

  padding: 0 .8rem;

  cursor: pointer;

  font-size: .75rem;

  font-weight: 600;
}

.viewBtn {
  background: rgba(
    247,
    147,
    26,
    .12
  );

  color: variables.$col-orange;
}

.markReadBtn {
  background: rgba(
    46,
    171,
    91,
    .12
  );

  color: #2eab5b;
}

.deleteBtn {
  background: rgba(
    244,
    67,
    54,
    .12
  );

  color: #f44336;
}

/* ==========================================
PAGINATION
========================================== */

.attend__pagination {
  margin-top: 1rem;
}

/* ==========================================
EMPTY
========================================== */

.noData {
  padding: 3rem 1rem;
}

/* ==========================================
MODAL
========================================== */

.modalOverlay {
  position: fixed;

  inset: 0;

  background: rgba(
    4,
    4,
    6,
    .82
  );

  backdrop-filter: blur(14px);

  display: flex;

  align-items: center;

  justify-content: center;

  padding: 1rem;

  z-index: 9999;
}

.modalContent {
  width: 100%;
  max-width: 700px;

  padding: 2rem;

  border-radius: 20px;

  background: linear-gradient(
    180deg,
    rgba(22,22,24,.98) 0%,
    rgba(15,15,18,1) 100%
  );

  border: 1px solid rgba(
    255,
    255,
    255,
    .05
  );

  box-shadow:
    0 25px 60px rgba(
      0,
      0,
      0,
      .45
    );

  h3 {
    font-size: 1rem;

    font-weight: 600;

    margin-bottom: .35rem;

    color: white !important;
  }
}

.modalEmail {
  color: #FFF !important;
  border-bottom: 1px solid #ebebeb;
  font-size: .8rem;
  
  margin-bottom: 1rem;
}

.modalMessage {
  background: rgba(
    255,
    255,
    255,
    .02
  );

  border: 1px solid rgba(
    255,
    255,
    255,
    .05
  );

  padding: 1rem;

  border-radius: 12px;

  line-height: 2;

  font-size: .85rem;

  color: #d7dbe4;

  max-height: 350px;

  overflow-y: auto;
}

.modalCloseBtn {
  margin-top: 1rem;

  width: 100%;

  height: 46px;

  border-radius: 10px;

  border: none;

  background: variables.$col-orange;

  color: variables.$col-dark;

  font-weight: 600;

  cursor: pointer;
}