/* =========================================================
   ADMIN V2
   CHAT CHANNELS
   ========================================================= */

.admin-channel-loading {
  margin: 0;
  color: var(--admin-text-soft);
}


.admin-channel-intro {
  margin-bottom: 18px;
  padding: 18px 20px;

  border:
    1px solid #ead7df;

  border-radius:
    var(--admin-radius);

  background: #fff8fb;
}


.admin-channel-intro strong {
  display: block;

  margin-bottom: 5px;

  color:
    var(--admin-accent-dark);
}


.admin-channel-intro p {
  margin: 0;

  color:
    var(--admin-text-soft);

  font-size: 12px;
  line-height: 1.55;
}


.admin-channel-summary {
  display: grid;

  grid-template-columns:
    repeat(4, minmax(0, 1fr));

  gap: 12px;

  margin-bottom: 18px;
}


.admin-channel-stat {
  padding: 16px;

  border:
    1px solid var(--admin-border);

  border-radius: 12px;

  background:
    var(--admin-surface);

  box-shadow:
    var(--admin-shadow);
}


.admin-channel-stat strong {
  display: block;

  margin-bottom: 4px;

  font-size: 22px;
}


.admin-channel-stat span {
  color:
    var(--admin-text-soft);

  font-size: 11px;
}


.admin-channel-list {
  display: grid;

  gap: 16px;
}


.admin-channel-panel {
  overflow: hidden;

  border:
    1px solid var(--admin-border);

  border-radius:
    var(--admin-radius);

  background:
    var(--admin-surface);

  box-shadow:
    var(--admin-shadow);
}


.admin-channel-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;

  gap: 18px;

  padding: 18px 20px;

  border-bottom:
    1px solid var(--admin-border);

  background:
    var(--admin-surface-soft);
}


.admin-channel-heading h2 {
  margin:
    0 0 7px;

  font-size: 17px;
}


.admin-channel-heading-meta {
  display: flex;
  flex-wrap: wrap;

  gap: 7px;

  color:
    var(--admin-text-soft);

  font-size: 10px;
}


.admin-channel-heading-meta > span {
  padding: 4px 7px;

  border-radius: 999px;

  background:
    #ffffff;

  border:
    1px solid var(--admin-border);
}


.admin-channel-heading-meta
.admin-channel-badge--active {
  border-color:
    #bfe6d0;

  background:
    #e9f8ef;

  color:
    #1d7548;
}


.admin-channel-heading-meta
.admin-channel-badge--disabled {
  border-color:
    #efc5cc;

  background:
    #fdecef;

  color:
    #a1283e;
}


.admin-channel-slug {
  flex: 0 0 auto;

  padding:
    5px 8px;

  border-radius: 7px;

  background:
    #ffffff;

  color:
    var(--admin-text-soft);

  font-size: 10px;
}


.admin-channel-body {
  padding:
    20px;
}


.admin-channel-form {
  display: grid;

  gap: 16px;
}


.admin-channel-grid {
  display: grid;

  grid-template-columns:
    repeat(3, minmax(0, 1fr));

  gap: 14px;
}


.admin-channel-field {
  display: grid;

  gap: 6px;

  min-width: 0;

  font-size: 11px;
  font-weight: 800;
}


.admin-channel-field input,
.admin-channel-field textarea {
  box-sizing: border-box;

  width: 100%;

  padding:
    10px 11px;

  border:
    1px solid var(--admin-border);

  border-radius: 9px;

  background:
    #ffffff;

  color:
    var(--admin-text);

  font: inherit;
  font-weight: 500;
}


.admin-channel-field textarea {
  resize: vertical;

  min-height: 92px;
}


.admin-channel-field input:focus,
.admin-channel-field textarea:focus {
  outline:
    2px solid
    rgba(215, 40, 111, 0.14);

  border-color:
    var(--admin-accent);
}


.admin-channel-field input:disabled,
.admin-channel-field textarea:disabled {
  background:
    #f5f2f4;

  color:
    var(--admin-text-faint);
}


.admin-channel-toggles {
  display: flex;
  flex-wrap: wrap;

  gap: 18px;

  padding:
    13px 14px;

  border:
    1px solid var(--admin-border);

  border-radius: 10px;

  background:
    var(--admin-surface-soft);
}


.admin-channel-toggle {
  position: relative;

  display: flex;
  align-items: center;

  gap: 9px;

  cursor: pointer;

  font-size: 11px;
  font-weight: 800;

  user-select: none;
}


.admin-channel-toggle input {
  position: absolute;

  opacity: 0;
  pointer-events: none;
}


.admin-channel-toggle-ui {
  position: relative;

  display: block;

  width: 42px;
  height: 23px;

  border-radius: 999px;

  background:
    #cec5ca;

  transition:
    background 0.15s ease;
}


.admin-channel-toggle-ui::after {
  content: "";

  position: absolute;

  top: 3px;
  left: 3px;

  width: 17px;
  height: 17px;

  border-radius: 50%;

  background:
    #ffffff;

  box-shadow:
    0 1px 4px
    rgba(0, 0, 0, 0.18);

  transition:
    transform 0.15s ease;
}


.admin-channel-toggle
input:checked +
.admin-channel-toggle-ui {
  background:
    var(--admin-accent);
}


.admin-channel-toggle
input:checked +
.admin-channel-toggle-ui::after {
  transform:
    translateX(19px);
}


.admin-channel-toggle
input:disabled +
.admin-channel-toggle-ui {
  opacity: 0.5;
}


.admin-channel-note {
  padding:
    13px 15px;

  border-left:
    3px solid var(--admin-accent);

  border-radius: 8px;

  background:
    #fff7fa;
}


.admin-channel-note strong {
  display: block;

  margin-bottom: 4px;

  font-size: 11px;
}


.admin-channel-note p {
  margin: 0;

  color:
    var(--admin-text-soft);

  font-size: 11px;
  line-height: 1.55;
}


.admin-channel-feedback {
  min-height: 17px;

  margin: 0;

  color:
    var(--admin-text-soft);

  font-size: 11px;
}


.admin-channel-actions {
  display: flex;
  justify-content: flex-end;
}


.admin-channel-readonly {
  margin:
    14px 0 0;

  color:
    var(--admin-text-soft);

  font-size: 11px;
}


@media (max-width: 1050px) {
  .admin-channel-summary {
    grid-template-columns:
      repeat(2, minmax(0, 1fr));
  }

  .admin-channel-grid {
    grid-template-columns:
      repeat(2, minmax(0, 1fr));
  }
}


@media (max-width: 720px) {
  .admin-channel-summary,
  .admin-channel-grid {
    grid-template-columns:
      1fr;
  }

  .admin-channel-heading {
    flex-direction:
      column;
  }

  .admin-channel-toggles {
    flex-direction:
      column;
  }
}