
/* =========================================================
   ADMIN V2
   CLIENT SAFETY
   ========================================================= */

.admin-client-safety-loading {
  margin: 0;

  color:
    var(--admin-text-soft);
}


.admin-client-safety-flash {
  margin-bottom: 16px;

  padding:
    12px 15px;

  border:
    1px solid #bfe5cf;

  border-radius: 10px;

  background:
    #edf9f2;

  color:
    #176a41;

  font-size: 12px;
  font-weight: 800;
}


.admin-client-safety-intro {
  display: flex;
  align-items: center;
  justify-content: space-between;

  gap: 20px;

  margin-bottom: 14px;

  padding:
    20px 22px;

  border:
    1px solid var(--admin-border);

  border-radius:
    var(--admin-radius);

  background:
    var(--admin-surface);

  box-shadow:
    var(--admin-shadow);
}


.admin-client-safety-intro h2 {
  margin:
    0 0 6px;

  font-size: 19px;
}


.admin-client-safety-intro p {
  max-width: 780px;

  margin: 0;

  color:
    var(--admin-text-soft);

  font-size: 12px;
  line-height: 1.55;
}


.admin-client-safety-eyebrow {
  display: block;

  margin-bottom: 6px;

  color:
    var(--admin-accent);

  font-size: 10px;
  font-weight: 900;
  letter-spacing: 0.12em;
}


.admin-client-safety-total {
  flex: 0 0 auto;

  padding:
    6px 10px;

  border:
    1px solid var(--admin-border);

  border-radius: 999px;

  background:
    var(--admin-surface-soft);

  color:
    var(--admin-text-soft);

  font-size: 10px;
  font-weight: 900;
}


.admin-client-safety-total--attention {
  border-color:
    #efc2d1;

  background:
    #fff2f6;

  color:
    var(--admin-accent-dark);
}


.admin-client-safety-notice {
  margin-bottom: 18px;

  padding:
    13px 15px;

  border-left:
    3px solid var(--admin-accent);

  border-radius: 9px;

  background:
    #fff7fa;
}


.admin-client-safety-notice strong {
  display: block;

  margin-bottom: 4px;

  font-size: 11px;
}


.admin-client-safety-notice p {
  margin: 0;

  color:
    var(--admin-text-soft);

  font-size: 10px;
  line-height: 1.5;
}


.admin-client-safety-summary {
  display: grid;

  grid-template-columns:
    repeat(
      4,
      minmax(0, 1fr)
    );

  gap: 12px;

  margin-bottom: 18px;
}


.admin-client-safety-stat {
  padding: 16px;

  border:
    1px solid var(--admin-border);

  border-radius: 12px;

  background:
    var(--admin-surface);

  box-shadow:
    var(--admin-shadow);
}


.admin-client-safety-stat strong {
  display: block;

  margin-bottom: 4px;

  font-size: 22px;
}


.admin-client-safety-stat span {
  color:
    var(--admin-text-soft);

  font-size: 11px;
}


.admin-client-safety-panel {
  overflow: hidden;

  border:
    1px solid var(--admin-border);

  border-radius:
    var(--admin-radius);

  background:
    var(--admin-surface);

  box-shadow:
    var(--admin-shadow);
}


.admin-client-safety-panel-heading {
  padding:
    18px 20px;

  border-bottom:
    1px solid var(--admin-border);

  background:
    var(--admin-surface-soft);
}


.admin-client-safety-panel-heading h2 {
  margin:
    0 0 5px;

  font-size: 16px;
}


.admin-client-safety-panel-heading p {
  margin: 0;

  color:
    var(--admin-text-soft);

  font-size: 11px;
  line-height: 1.5;
}


.admin-client-safety-filters {
  display: grid;

  grid-template-columns:
    minmax(250px, 2fr)
    repeat(
      3,
      minmax(150px, 1fr)
    );

  gap: 10px;

  padding:
    14px 20px;

  border-bottom:
    1px solid var(--admin-border);

  background:
    #ffffff;
}


.admin-client-safety-filters input,
.admin-client-safety-filters select {
  box-sizing: border-box;

  width: 100%;

  padding:
    9px 10px;

  border:
    1px solid var(--admin-border);

  border-radius: 8px;

  background:
    #ffffff;

  color:
    var(--admin-text);

  font: inherit;
  font-size: 11px;
}


.admin-client-safety-filters input:focus,
.admin-client-safety-filters select:focus {
  outline:
    2px solid
    rgba(215, 40, 111, 0.14);

  border-color:
    var(--admin-accent);
}


.admin-client-safety-list {
  display: grid;

  gap: 10px;

  padding:
    18px 20px;
}


.admin-client-safety-item {
  overflow: hidden;

  border:
    1px solid var(--admin-border);

  border-radius: 10px;

  background:
    #ffffff;
}


.admin-client-safety-item[open] {
  box-shadow:
    0 4px 16px
    rgba(25, 16, 22, 0.05);
}


.admin-client-safety-item-summary {
  display: flex;
  align-items: center;
  justify-content: space-between;

  gap: 16px;

  padding:
    13px 15px;

  background:
    var(--admin-surface-soft);

  cursor: pointer;
}


.admin-client-safety-item-summary:hover {
  background:
    #fff8fb;
}


.admin-client-safety-item-copy {
  display: grid;

  gap: 3px;

  min-width: 0;
}


.admin-client-safety-item-copy strong {
  overflow: hidden;

  font-size: 12px;

  text-overflow:
    ellipsis;

  white-space:
    nowrap;
}


.admin-client-safety-item-copy small {
  color:
    var(--admin-text-soft);

  font-size: 9px;
}


.admin-client-safety-badges {
  display: flex;
  flex-wrap: wrap;

  gap: 6px;

  flex: 0 0 auto;
}


.admin-client-safety-status,
.admin-client-safety-evidence-badge {
  display: inline-flex;
  align-items: center;

  padding:
    4px 8px;

  border-radius: 999px;

  font-size: 9px;
  font-weight: 900;
}


.admin-client-safety-status--unreviewed {
  background:
    #fff0e4;

  color:
    #88500a;
}


.admin-client-safety-status--evidence_received {
  background:
    #fff7da;

  color:
    #755900;
}


.admin-client-safety-status--supported {
  background:
    #e9f8ef;

  color:
    #197446;
}


.admin-client-safety-evidence-badge {
  border:
    1px solid #dfcad4;

  background:
    #ffffff;

  color:
    var(--admin-text-soft);
}


.admin-client-safety-item-body {
  display: grid;

  gap: 15px;

  padding:
    16px;
}


.admin-client-safety-facts {
  display: grid;

  grid-template-columns:
    minmax(130px, max-content)
    minmax(0, 1fr);

  gap:
    6px 14px;

  margin: 0;

  padding:
    13px 14px;

  border:
    1px solid var(--admin-border);

  border-radius: 9px;

  background:
    #fcfafb;
}


.admin-client-safety-facts dt {
  color:
    var(--admin-text-soft);

  font-size: 10px;
}


.admin-client-safety-facts dd {
  margin: 0;

  overflow-wrap:
    anywhere;

  font-size: 10px;
  font-weight: 700;
}


.admin-client-safety-experience {
  padding:
    13px 14px;

  border-left:
    3px solid var(--admin-accent);

  border-radius: 8px;

  background:
    #fff7fa;
}


.admin-client-safety-experience strong {
  display: block;

  margin-bottom: 5px;

  font-size: 11px;
}


.admin-client-safety-experience p {
  margin: 0;

  white-space:
    pre-wrap;

  overflow-wrap:
    anywhere;

  font-size: 11px;
  line-height: 1.55;
}


.admin-client-safety-evidence {
  display: grid;

  gap: 10px;

  padding: 14px;

  border:
    1px solid var(--admin-border);

  border-radius: 10px;

  background:
    #ffffff;
}


.admin-client-safety-evidence h3 {
  margin: 0;

  font-size: 13px;
}


.admin-client-safety-evidence-list {
  display: grid;

  gap: 8px;
}


.admin-client-safety-evidence-card {
  display: grid;

  gap: 4px;

  padding:
    11px 12px;

  border:
    1px solid var(--admin-border);

  border-radius: 8px;

  background:
    var(--admin-surface-soft);
}


.admin-client-safety-evidence-card strong {
  font-size: 10px;
}


.admin-client-safety-evidence-card small {
  overflow-wrap:
    anywhere;

  color:
    var(--admin-text-soft);

  font-size: 9px;
}


.admin-client-safety-evidence-note {
  margin: 0;

  color:
    var(--admin-text-soft);

  font-size: 9px;
  line-height: 1.5;
}


.admin-client-safety-moderation {
  display: grid;

  gap: 12px;

  padding:
    14px;

  border:
    1px solid var(--admin-border);

  border-radius: 10px;

  background:
    #fffafb;
}


.admin-client-safety-moderation h3 {
  margin: 0;

  font-size: 13px;
}


.admin-client-safety-form {
  display: grid;

  gap: 10px;
}


.admin-client-safety-grid {
  display: grid;

  grid-template-columns:
    minmax(200px, 0.7fr)
    minmax(0, 2fr);

  gap: 12px;
}


.admin-client-safety-field {
  display: grid;

  gap: 6px;

  min-width: 0;

  font-size: 11px;
  font-weight: 800;
}


.admin-client-safety-field select,
.admin-client-safety-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-client-safety-field textarea {
  min-height: 110px;

  resize: vertical;
}


.admin-client-safety-field select:focus,
.admin-client-safety-field textarea:focus {
  outline:
    2px solid
    rgba(215, 40, 111, 0.14);

  border-color:
    var(--admin-accent);
}


.admin-client-safety-field select:disabled,
.admin-client-safety-field textarea:disabled {
  background:
    #f5f2f4;

  color:
    var(--admin-text-faint);
}


.admin-client-safety-counter {
  margin:
    -5px 0 0;

  text-align: right;

  color:
    var(--admin-text-soft);

  font-size: 9px;
}


.admin-client-safety-feedback {
  min-height: 17px;

  margin: 0;

  color:
    #9d2841;

  font-size: 10px;
}


.admin-client-safety-actions {
  display: flex;
  justify-content: flex-end;
}


.admin-client-safety-muted {
  margin: 0;

  color:
    var(--admin-text-soft);

  font-size: 10px;
}


.admin-client-safety-empty {
  margin: 0;

  padding: 20px;

  border:
    1px dashed var(--admin-border);

  border-radius: 10px;

  color:
    var(--admin-text-soft);

  text-align: center;

  font-size: 11px;
}


@media (max-width: 1050px) {
  .admin-client-safety-summary {
    grid-template-columns:
      repeat(
        2,
        minmax(0, 1fr)
      );
  }

  .admin-client-safety-filters {
    grid-template-columns:
      repeat(
        2,
        minmax(0, 1fr)
      );
  }
}


@media (max-width: 720px) {
  .admin-client-safety-intro {
    align-items:
      flex-start;

    flex-direction:
      column;
  }

  .admin-client-safety-summary,
  .admin-client-safety-filters,
  .admin-client-safety-grid {
    grid-template-columns:
      1fr;
  }

  .admin-client-safety-item-summary {
    align-items:
      flex-start;

    flex-direction:
      column;
  }

  .admin-client-safety-facts {
    grid-template-columns:
      1fr;
  }

  .admin-client-safety-actions {
    justify-content:
      stretch;
  }

  .admin-client-safety-actions
  .admin-button {
    width: 100%;
  }
}