.shusei-members{
    --cols: 3;
  }
  
  .shusei-members[data-columns="1"]{ --cols: 1; }
  .shusei-members[data-columns="2"]{ --cols: 2; }
  .shusei-members[data-columns="3"]{ --cols: 3; }
  .shusei-members[data-columns="4"]{ --cols: 4; }
  
  .shusei-members__toolbar{
    margin: 0 0 12px;
  }
  .shusei-members__search{
    width: 100%;
    max-width: 520px;
    padding: 10px 12px;
    border: 1px solid #ddd;
    border-radius: 10px;
  }
  
  .shusei-members__grid{
    display: grid;
    grid-template-columns: repeat(var(--cols), minmax(0, 1fr));
    gap: 14px;
  }
  
  @media (max-width: 1024px){
    .shusei-members{ --cols: 2; }
  }
  @media (max-width: 640px){
    .shusei-members{ --cols: 1; }
  }
  
  .memberlist a.member{
    display: flex;
    gap: 16px;
    text-decoration: none;
    color: inherit;
  }
  .memberlist a.member:hover{
    opacity: 0.9;
  }
  
  .shusei-edit{
    border: 1px solid #e6e6e6;
    border-radius: 14px;
    padding: 14px;
    background: #fff;
  }
  .shusei-edit__grid{
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
  }
  @media (max-width: 640px){
    .shusei-edit__grid{ grid-template-columns: 1fr; }
  }
  .shusei-edit__field label{
    display:block;
    font-size: 12px;
    color:#666;
    margin-bottom: 4px;
  }
  .shusei-edit__field input,
  .shusei-edit__field textarea{
    width: 100%;
    padding: 10px 12px;
    border: 1px solid #ddd;
    border-radius: 10px;
  }
  .shusei-edit__btn{
    margin-top: 12px;
    padding: 10px 14px;
    border-radius: 12px;
    border: 0;
    background: #2271b1;
    color: #fff;
    cursor: pointer;
  }
  .shusei-edit__notice{
    padding: 10px 12px;
    border-radius: 12px;
    background: #f6f7f7;
    margin-bottom: 10px;
  }
  .shusei-edit__notice--ok{
    background: #edfaef;
  }
  .shusei-edit__hint{
    margin-top: 10px;
    color:#666;
    font-size: 12px;
  }

  .shusei-auth{
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
  }
  @media (max-width: 640px){
    .shusei-auth{ grid-template-columns: 1fr; }
  }
  .shusei-auth__col{
    border: 1px solid #e6e6e6;
    border-radius: 14px;
    padding: 14px;
    background: #fff;
  }
  .shusei-auth__title{
    margin: 0 0 10px;
    font-size: 16px;
  }
  .shusei-auth__note{
    margin-top: 10px;
    font-size: 12px;
    color:#666;
  }
  .shusei-auth__notice{
    padding: 10px 12px;
    border-radius: 12px;
    background: #fff4f4;
    margin-bottom: 10px;
  }

  .shusei-avatar{
    display: grid;
    gap: 10px;
  }
  .shusei-avatar__img{
    width: 96px;
    height: 96px;
    border-radius: 999px;
    object-fit: cover;
    border: 1px solid #e6e6e6;
  }
  .shusei-edit__field--avatar{
    grid-column: 1 / -1; /* 2カラムでも横幅いっぱい */
  }

  /* 카드をリンクにしても崩れないように */
.shusei-card--link{
  display: block;
  color: inherit;
  text-decoration: none;
}
.shusei-card--link:hover{
  box-shadow: 0 2px 10px rgba(0,0,0,.07);
}

/* 詳細ページ */
.shusei-member-detail-wrap{
  max-width: 960px;
  margin: 0 auto;
  padding: 20px 16px;
}
.shusei-detail{
  border: 1px solid #e6e6e6;
  border-radius: 16px;
  padding: 16px;
  background: #fff;
  box-shadow: 0 1px 8px rgba(0,0,0,.04);
}
.shusei-detail__back{
  margin-bottom: 10px;
}
.shusei-detail__head{
  display:flex;
  gap: 14px;
  align-items: center;
  margin-bottom: 14px;
}
.shusei-detail__avatar{
  width: 96px;
  height: 96px;
  border-radius: 999px;
  object-fit: cover;
  border: 1px solid #e6e6e6;
}
.shusei-detail__name{
  margin: 0;
  font-size: 22px;
}
.shusei-detail__company{
  font-weight: 700;
  margin-top: 4px;
}
.shusei-detail__job{
  color:#666;
  margin-top: 2px;
}
.shusei-detail__links{
  margin-top: 8px;
  font-weight: 700;
}
.shusei-detail__row{
  margin-top: 12px;
}
.shusei-detail__row > span{
  display:block;
  font-size: 12px;
  color:#666;
  margin-bottom: 4px;
}
