/* 멤버 한 명을 정보 1줄 + 관리 컨트롤 1줄로 고정한다. */
.v27169-member{display:block!important;padding:14px 0!important}
.v27169-member>div:first-child{min-width:0!important}
.v27169-member-actions{width:100%!important;margin-top:10px!important;display:flex!important;flex-wrap:nowrap!important;justify-content:flex-start!important;align-items:center!important;gap:6px!important}
.v27169-member-actions select{min-width:0!important;max-width:none!important;flex:1 1 0!important;width:0!important}
.v27169-member-actions .v271613-server-check{flex:0 0 auto!important;min-height:36px;padding:0 4px}
.v27169-member-actions .v27169-danger{flex:0 0 auto!important;min-height:36px}
.v271613-team-select{min-height:36px!important;border-radius:9px!important}

/* 권한 메뉴는 상위 메뉴별로 펼치고 닫을 수 있다. */
.v27169-role-tabs{grid-template-columns:repeat(5,minmax(0,1fr))!important}
.v271615-permission-card{padding:10px!important;overflow:hidden}
.v271615-perm-group{border-bottom:1px solid #e8eef5}.v271615-perm-group:last-of-type{border-bottom:0}
.v271615-perm-parent{background:#fff!important;border-bottom:0!important}
.v271615-perm-toggle{border:0;background:transparent;padding:0;display:flex;align-items:center;gap:6px;text-align:left;font:inherit;font-size:10.5px;font-weight:900;color:#203b5c;cursor:pointer;min-width:0}
.v271615-perm-toggle>span{width:12px;color:#2767af;font-size:15px}.v271615-perm-toggle small{margin-left:auto;border-radius:99px;background:#eef4fb;color:#66809d;padding:2px 5px;font-size:8px}
.v271615-perm-children{background:#f8fafc;border-top:1px solid #edf2f7;padding:2px 0 4px}
.v271615-perm-child{border-bottom:1px solid #edf2f7!important;padding-left:21px!important}.v271615-perm-child:last-child{border-bottom:0!important}
.v271615-perm-child .v27169-perm-menu{font-weight:700;color:#60748c}

/* 현장 필터를 별도 영역으로 고정해 데이터 유무와 상관없이 항상 표시한다. */
.v271615-filter-panel{border:1px solid #d9e3ef;border-radius:13px;background:#f8fbff;padding:11px;margin-bottom:10px}
.v271615-filter-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.v271615-filter-head b{font-size:11px;color:#173a66}.v271615-filter-head button{border:0;background:transparent;color:#2e69ad;font:inherit;font-size:9.5px;font-weight:850;cursor:pointer}
.v271615-filter-panel .v271610-filterbar{margin:8px 0 0!important}

/* 교육 대상 팀 전체 선택 행 */
.v271615-team-pick{display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:5px;padding:5px 8px}
.v271615-team-pick>button{width:28px;height:34px;border:0;background:transparent;color:#31618f;font:inherit;cursor:pointer}
.v271615-team-pick>label{display:flex;align-items:center;gap:8px;min-height:34px;font-size:12px;color:#173a66;cursor:pointer}
.v271615-team-pick input{width:16px;height:16px;accent-color:#0967d8}.v271615-team-pick>small{font-size:9.5px;color:#7d8da3}
.v271615-partial{font-size:8px;color:#1767bd;background:#eaf3ff;border-radius:99px;padding:3px 5px}

@media(max-width:430px){
  .v27169-role-tabs{grid-template-columns:repeat(3,1fr)!important}
  .v27169-perm-head,.v27169-perm-row{grid-template-columns:minmax(105px,1.45fr) repeat(4,minmax(34px,.55fr))!important}
  .v27169-member-actions{gap:4px!important}.v27169-member-actions .v271613-server-check{font-size:8.5px!important}.v27169-member-actions .v27169-danger{padding:7px 6px!important;font-size:8.5px!important}
}
