/* =========================================================
   ADMIN V2
   CHAT AVAILABILITY
   ========================================================= */

.admin-chat-loading {
  margin: 0;
  color: var(--admin-text-soft);
}


.admin-chat-summary {
  display: flex;
  align-items: center;
  justify-content: space-between;

  gap: 24px;

  margin-bottom: 18px;
  padding: 22px;

  border:
    1px solid var(--admin-border);

  border-radius:
    var(--admin-radius);

  background:
    var(--admin-surface);

  box-shadow:
    var(--admin-shadow);
}


.admin-chat-summary-copy {
  min-width: 0;
}


.admin-chat-eyebrow {
  display: block;

  margin-bottom: 7px;

  color:
    var(--admin-accent);

  font-size: 10px;
  font-weight: 900;
  letter-spacing: 0.12em;
}


.admin-chat-summary h2 {
  margin:
    0 0 6px;

  font-size: 20px;
}


.admin-chat-summary p {
  max-width: 760px;

  margin: 0;

  color:
    var(--admin-text-soft);

  font-size: 12px;
  line-height: 1.55;
}


.admin-chat-status {
  flex: 0 0 auto;

  padding:
    7px 11px;

  border-radius:
    999px;

  font-size: 11px;
  font-weight: 900;
}


.admin-chat-status--active {
  background:
    #e7f7ee;

  color:
    #197446;
}


.admin-chat-status--disabled {
  background:
    #fdebee;

  color:
    #a9273d;
}


.admin-chat-panel {
  overflow: hidden;

  border:
    1px solid var(--admin-border);

  border-radius:
    var(--admin-radius);

  background:
    var(--admin-surface);

  box-shadow:
    var(--admin-shadow);
}


.admin-chat-panel-heading {
  padding:
    20px 22px;

  border-bottom:
    1px solid var(--admin-border);

  background:
    var(--admin-surface-soft);
}


.admin-chat-panel-heading h2 {
  margin:
    0 0 5px;

  font-size: 17px;
}


.admin-chat-panel-heading p {
  margin: 0;

  color:
    var(--admin-text-soft);

  font-size: 12px;
}


.admin-chat-panel-body {
  display: grid;

  gap: 16px;

  padding:
    20px 22px;
}


.admin-chat-status-row {
  display: flex;
  align-items: center;
  justify-content: space-between;

  gap: 20px;

  padding:
    16px;

  border:
    1px solid var(--admin-border);

  border-radius:
    12px;

  background:
    var(--admin-surface-soft);
}


.admin-chat-status-info {
  display: flex;
  align-items: center;

  gap: 12px;
}


.admin-chat-status-info strong {
  display: block;

  margin-bottom: 3px;
}


.admin-chat-status-info p {
  margin: 0;

  color:
    var(--admin-text-soft);

  font-size: 11px;
}


.admin-chat-icon {
  display: grid;
  place-items: center;

  width: 38px;
  height: 38px;

  border-radius: 10px;

  background:
    #fff0f6;

  color:
    var(--admin-accent);

  font-size: 19px;
  font-weight: 900;
}


.admin-chat-switch {
  display: flex;
  align-items: center;

  gap: 9px;

  cursor: pointer;

  user-select: none;
}


.admin-chat-switch input {
  position: absolute;

  opacity: 0;
  pointer-events: none;
}


.admin-chat-switch-ui {
  position: relative;

  display: block;

  width: 46px;
  height: 25px;

  border-radius: 999px;

  background:
    #cec5ca;

  transition:
    background 0.15s ease;
}


.admin-chat-switch-ui::after {
  content: "";

  position: absolute;

  top: 3px;
  left: 3px;

  width: 19px;
  height: 19px;

  border-radius: 50%;

  background:
    #ffffff;

  box-shadow:
    0 1px 4px
    rgba(0, 0, 0, 0.18);

  transition:
    transform 0.15s ease;
}


.admin-chat-switch
input:checked +
.admin-chat-switch-ui {
  background:
    var(--admin-accent);
}


.admin-chat-switch
input:checked +
.admin-chat-switch-ui::after {
  transform:
    translateX(21px);
}


.admin-chat-switch
input:disabled +
.admin-chat-switch-ui {
  opacity: 0.55;
}


.admin-chat-switch-label {
  min-width: 76px;

  font-size: 11px;
  font-weight: 800;
}


.admin-chat-meta {
  display: flex;
  flex-wrap: wrap;

  gap:
    8px 18px;

  color:
    var(--admin-text-soft);

  font-size: 10px;
}


.admin-chat-note {
  padding:
    14px 16px;

  border-left:
    3px solid var(--admin-accent);

  border-radius:
    8px;

  background:
    #fff7fa;
}


.admin-chat-note strong {
  display: block;

  margin-bottom: 5px;

  font-size: 12px;
}


.admin-chat-note p {
  margin: 0;

  color:
    var(--admin-text-soft);

  font-size: 11px;
  line-height: 1.55;
}


.admin-chat-readonly {
  margin: 0;

  color:
    var(--admin-text-soft);

  font-size: 11px;
}


.admin-chat-dialog {
  width:
    min(520px, calc(100vw - 32px));

  padding: 0;

  border:
    0;

  border-radius:
    14px;

  background:
    #ffffff;

  box-shadow:
    0 24px 80px
    rgba(20, 12, 18, 0.28);
}


.admin-chat-dialog::backdrop {
  background:
    rgba(18, 11, 16, 0.55);

  backdrop-filter:
    blur(3px);
}


.admin-chat-dialog-form {
  display: grid;

  gap: 14px;

  padding:
    22px;
}


.admin-chat-dialog-form h2 {
  margin: 0;

  font-size: 20px;
}


.admin-chat-dialog-form > p {
  margin: 0;

  color:
    var(--admin-text-soft);

  font-size: 12px;
  line-height: 1.55;
}


.admin-chat-field {
  display: grid;

  gap: 6px;

  font-size: 11px;
  font-weight: 800;
}


.admin-chat-field textarea {
  resize: vertical;

  box-sizing: border-box;

  width: 100%;
  min-height: 96px;

  padding:
    10px 11px;

  border:
    1px solid var(--admin-border);

  border-radius:
    9px;

  font: inherit;
  font-weight: 500;
}


.admin-chat-field textarea:focus {
  outline:
    2px solid
    rgba(215, 40, 111, 0.14);

  border-color:
    var(--admin-accent);
}


.admin-chat-feedback {
  min-height: 17px;

  margin: 0;

  color:
    #a9273d;

  font-size: 11px;
}


.admin-chat-dialog-actions {
  display: flex;
  justify-content: flex-end;

  gap: 8px;
}


@media (max-width: 720px) {
  .admin-chat-summary,
  .admin-chat-status-row {
    align-items:
      flex-start;

    flex-direction:
      column;
  }

  .admin-chat-switch {
    width: 100%;

    justify-content:
      space-between;
  }
}