.safety-review-preview{
  margin-bottom:20px;
  border-color:#cad8e5;
}

.safety-review-preview .stars{
  margin:8px 0;
}

.review-safety-actions{
  display:flex;
  justify-content:flex-end;
  margin-top:12px;
}

.review-safety-actions a{
  color:#8f303b;
  font-size:.78rem;
  font-weight:800;
}

.review-dispute-link{
  display:flex;
  justify-content:flex-end;
  margin-top:12px;
}

.safety-case-list{
  display:grid;
  gap:13px;
}

.safety-case-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:20px;
  align-items:center;
  color:inherit;
  text-decoration:none;
}

.safety-case-row h2{
  margin:6px 0;
}

.safety-case-row p{
  margin:0;
  color:var(--muted);
}

.safety-case-meta{
  display:grid;
  justify-items:end;
  gap:8px;
}

.safety-case-meta time{
  color:var(--muted);
  font-size:.78rem;
}

.safety-status,
.safety-priority{
  display:inline-flex;
  padding:5px 9px;
  border-radius:999px;
  font-size:.7rem;
  font-weight:850;
}

.safety-status-pending{
  background:#fff2d4;
  color:#815d00;
}

.safety-status-under_review{
  background:#e8edfb;
  color:#425e9c;
}

.safety-status-awaiting_information{
  background:#f2e9ff;
  color:#7442a0;
}

.safety-status-resolved_upheld{
  background:#def7ed;
  color:#087254;
}

.safety-status-resolved_actioned{
  background:#dceefc;
  color:#1f648c;
}

.safety-status-rejected{
  background:#eef1f4;
  color:#5c6876;
}

.safety-priority-normal{
  background:#e8edfb;
  color:#425e9c;
}

.safety-priority-high{
  background:#ffe5e7;
  color:#9a2631;
}

.safety-case-title{
  display:flex;
  gap:8px;
  align-items:center;
  flex-wrap:wrap;
}

.safety-filter{
  display:grid;
  grid-template-columns:1fr 1fr auto;
  gap:12px;
  align-items:end;
  margin-bottom:22px;
}

.safety-filter label,
.safety-decision-form label,
.enforcement-action-card label{
  display:grid;
  gap:7px;
  font-weight:750;
}

.safety-filter select,
.safety-decision-form select,
.safety-decision-form textarea,
.enforcement-action-card textarea,
.enforcement-action-card input{
  width:100%;
  border:1px solid var(--border);
  border-radius:12px;
  padding:11px;
  background:#fff;
}

.safety-decision-note{
  margin-top:16px;
  padding:14px;
  border-radius:14px;
  background:#eaf8f3;
  color:#09664e;
}

.safety-attachment-list{
  display:grid;
  gap:8px;
}

.safety-attachment-list a{
  display:flex;
  justify-content:space-between;
  gap:16px;
  padding:12px;
  border:1px solid var(--border);
  border-radius:12px;
  color:var(--navy);
  text-decoration:none;
}

.safety-attachment-list span{
  color:var(--muted);
  font-size:.75rem;
}

.safety-admin-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) 350px;
  gap:20px;
  align-items:start;
}

.safety-admin-layout>div,
.safety-admin-layout>aside{
  display:grid;
  gap:18px;
}

.safety-decision-form{
  display:grid;
  gap:11px;
}

.safety-event-list{
  display:grid;
}

.safety-event-list>div{
  display:grid;
  gap:3px;
  padding:11px 0;
  border-top:1px solid var(--border);
}

.safety-event-list small{
  color:var(--muted);
}

.safety-enforcement-summary{
  margin-bottom:20px;
  border-color:#efbdc2;
  background:#fff8f8;
}

.safety-enforcement-list{
  display:grid;
  gap:16px;
}

.enforcement-action-card{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(300px,.8fr);
  gap:20px;
  align-items:start;
}

.enforcement-action-card form{
  display:grid;
  gap:11px;
}

@media(max-width:900px){
  .safety-admin-layout,
  .enforcement-action-card{
    grid-template-columns:1fr;
  }

  .safety-filter{
    grid-template-columns:1fr;
  }
}

@media(max-width:700px){
  .safety-case-row{
    grid-template-columns:1fr;
  }

  .safety-case-meta{
    justify-items:start;
  }

  .safety-attachment-list a{
    flex-direction:column;
  }
}
