.contact-directory{
  border:1px solid #e2e4e7;
  border-radius:12px;
  padding:20px;
  background:#fff;
  box-shadow:0 10px 35px rgba(15,24,56,.06);
}
.contact-directory-controls{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  margin-bottom:16px;
}
.contact-directory-controls .control{
  flex:1 1 220px;
}
.contact-directory-controls input,
.contact-directory-controls select{
  width:100%;
  padding:10px 12px;
  border-radius:6px;
  border:1px solid #d0d5dd;
  font-size:14px;
}
.contact-directory-grid{
  display:grid;
  gap:16px;
}
.contact-directory-grid.columns-1{ grid-template-columns:1fr; }
.contact-directory-grid.columns-2{ grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); }
.contact-directory-grid.columns-3{ grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); }
.contact-directory-grid.columns-4{ grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); }
.contact-directory-card{
  border:1px solid #e4e7ec;
  border-radius:12px;
  padding:16px;
  background:#fdfdfd;
  display:flex;
  flex-direction:column;
  gap:6px;
}
.contact-directory-card h3{
  margin:0;
  font-size:20px;
}
.contact-directory-card .role{
  margin:0;
  font-size:14px;
  color:#475467;
}
.contact-directory-card .company{
  margin:0;
  font-size:13px;
  text-transform:uppercase;
  letter-spacing:.4px;
  color:#0f2d57;
}
.contact-directory-card .meta{
  list-style:none;
  padding:0;
  margin:8px 0;
}
.contact-directory-card .meta li{
  font-size:13px;
  display:flex;
  gap:4px;
  align-items:flex-start;
}
.contact-directory-card .meta a{
  color:inherit;
}
.contact-directory-card .actions{
  margin-top:auto;
}
.contact-directory-card .actions .button{
  text-decoration:none;
}
.contact-directory-empty{
  margin-top:12px;
  text-align:center;
  font-style:italic;
  color:#475467;
  display:none;
}
.contact-directory-block-preview{
  padding:24px;
  border:1px dashed #cbd5f5;
  background:#f8fafc;
  border-radius:12px;
}
