/* 명단 대조기 */
[data-app="roster-match"]{ display:flex; flex-direction:column; gap:10px; }
[data-app="roster-match"] .rm-help{ margin:0; font-size:13.5px; line-height:1.55; color:#4B5059; }
[data-app="roster-match"] .rm-sides{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
[data-app="roster-match"] .rm-side{ display:flex; flex-direction:column; gap:6px; min-width:0; padding:10px; border:1px solid #E6E7EB; border-radius:12px; background:#F8F9FB; }
[data-app="roster-match"] .rm-sh{ display:flex; align-items:center; gap:6px; min-width:0; }
[data-app="roster-match"] .rm-badge{ flex:none; display:inline-flex; align-items:center; justify-content:center; width:30px; height:30px; border-radius:9px; font-size:15px; font-weight:900; color:#fff; }
[data-app="roster-match"] .rm-badge.rm-a, [data-app="roster-match"] .rm-tag.rm-a{ background:#2F5BD3; }
[data-app="roster-match"] .rm-badge.rm-b, [data-app="roster-match"] .rm-tag.rm-b{ background:#B4500A; }
[data-app="roster-match"] .rm-name{ flex:1 1 auto; width:auto; min-width:0; background:#fff; font-weight:700; }
[data-app="roster-match"] .rm-clear{ flex:none; min-width:68px; }   /* 「한 번 더 누르면 비워요」가 「한 번 더 / 누르면 / 비워요」 세 줄로 읽히게 */
[data-app="roster-match"] .rm-text{ min-height:160px; background:#fff; font-size:13.5px; line-height:1.55; white-space:pre; overflow:auto; overflow-wrap:normal; tab-size:20; -moz-tab-size:20; }
[data-app="roster-match"] .rm-meta{ display:flex; flex-wrap:wrap; align-items:center; gap:2px 12px; min-width:0; font-size:12.5px; color:#4B5059; }
[data-app="roster-match"] .rm-cnt{ font-weight:700; font-variant-numeric:tabular-nums; }
[data-app="roster-match"] .rm-chk{ display:inline-flex; align-items:center; gap:6px; min-height:36px; cursor:pointer; font-size:13px; font-weight:700; color:#33373D; }
[data-app="roster-match"] .rm-chk input{ flex:none; width:18px; height:18px; margin:0; accent-color:#1A1A1A; cursor:pointer; }
[data-app="roster-match"] .rm-colw{ display:inline-flex; align-items:center; gap:6px; min-width:0; max-width:100%; font-size:13px; font-weight:700; color:#33373D; }
[data-app="roster-match"] .rm-col{ flex:1 1 auto; width:auto; min-width:0; max-width:100%; min-height:36px; padding:4px 8px; background:#fff; font-weight:600; }
[data-app="roster-match"] .rm-opts{ display:flex; flex-wrap:wrap; align-items:center; gap:0 16px; }
[data-app="roster-match"] .rm-opts .ndt-k{ margin-right:-4px; }
[data-app="roster-match"] .rm-status{ margin:0; min-height:1.5em; font-size:13px; color:#4B5059; overflow-wrap:anywhere; }
/* 결과 칸 4개 — 누르면 아래 목록이 바뀜 */
[data-app="roster-match"] .rm-tiles{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; }
[data-app="roster-match"] .rm-tile{ display:flex; flex-direction:column; align-items:flex-start; justify-content:center; gap:1px; min-width:0; min-height:74px; padding:8px 12px; border:1.5px solid #E3E5EA; border-left-width:5px; border-radius:12px; background:#fff; color:#1A1A1A; text-align:left; cursor:pointer; }
[data-app="roster-match"] .rm-tile:hover{ border-color:#C9CDD4; }
[data-app="roster-match"] .rm-n{ font-size:26px; font-weight:900; line-height:1.1; font-variant-numeric:tabular-nums; }
[data-app="roster-match"] .rm-tl{ font-size:13.5px; font-weight:800; }
[data-app="roster-match"] .rm-ts{ max-width:100%; font-size:11.5px; font-weight:600; line-height:1.35; color:#6B717B; overflow-wrap:anywhere; }
[data-app="roster-match"] .rm-tile.rm-both{ border-left-color:#0D7A43; }
[data-app="roster-match"] .rm-tile.rm-a{ border-left-color:#2F5BD3; }
[data-app="roster-match"] .rm-tile.rm-b{ border-left-color:#B4500A; }
[data-app="roster-match"] .rm-tile.rm-dup{ border-left-color:#B42318; }
[data-app="roster-match"] .rm-tile.rm-both .rm-n{ color:#0D7A43; }
[data-app="roster-match"] .rm-tile.rm-a .rm-n{ color:#2F5BD3; }
[data-app="roster-match"] .rm-tile.rm-b .rm-n{ color:#B4500A; }
[data-app="roster-match"] .rm-tile.rm-dup .rm-n{ color:#B42318; }
[data-app="roster-match"] .rm-tile.rm-both[aria-pressed="true"]{ background:#EAF6EF; border-color:#0D7A43; }
[data-app="roster-match"] .rm-tile.rm-a[aria-pressed="true"]{ background:#EDF2FD; border-color:#2F5BD3; }
[data-app="roster-match"] .rm-tile.rm-b[aria-pressed="true"]{ background:#FDF1E7; border-color:#B4500A; }
[data-app="roster-match"] .rm-tile.rm-dup[aria-pressed="true"]{ background:#FDEEEC; border-color:#B42318; }
/* 목록 */
[data-app="roster-match"] .rm-res{ min-width:0; padding:10px 12px; border:1px solid #E6E7EB; border-radius:12px; background:#fff; }
[data-app="roster-match"] .rm-rh{ margin:0 0 6px; font-size:14px; font-weight:800; overflow-wrap:anywhere; }
[data-app="roster-match"] .rm-list{ list-style:none; margin:0; padding:0; max-height:340px; overflow:auto; display:grid; grid-template-columns:repeat(auto-fill,minmax(min(260px,100%),1fr)); column-gap:18px; }
[data-app="roster-match"] .rm-list li{ display:flex; flex-wrap:wrap; align-items:baseline; gap:2px 8px; min-width:0; padding:7px 2px; border-top:1px solid #F0F1F3; font-size:14px; line-height:1.45; overflow-wrap:anywhere; }
[data-app="roster-match"] .rm-list li b{ font-weight:800; }
[data-app="roster-match"] .rm-list li.rm-none{ grid-column:1 / -1; border-top:0; padding:14px 2px; color:#6B717B; font-size:13.5px; }
[data-app="roster-match"] .rm-pos{ font-size:12px; color:#6B717B; font-variant-numeric:tabular-nums; }
[data-app="roster-match"] .rm-ex{ flex-basis:100%; min-width:0; font-size:12.5px; color:#4B5059; }
[data-app="roster-match"] .rm-alt{ padding:0 6px; border-radius:6px; background:#FFF3D1; color:#7A5200; font-size:12px; font-weight:700; }
[data-app="roster-match"] .rm-tag{ display:inline-flex; align-items:center; justify-content:center; align-self:center; min-width:22px; height:20px; padding:0 5px; border-radius:6px; color:#fff; font-size:12px; font-weight:900; }
[data-app="roster-match"] .rm-more{ margin:8px 0 0; }
[data-app="roster-match"] .rm-btns{ margin-top:2px; }
[data-app="roster-match"] .rm-note{ margin:0; }
[data-app="roster-match"] .rm-note.rm-warn{ padding:8px 10px; border-radius:10px; background:#FEF3F2; color:#912018; font-size:13px; font-weight:700; }
[data-app="roster-match"] .rm-fbw:empty{ display:none; }
@media (max-width:640px){
  [data-app="roster-match"] .rm-sides{ grid-template-columns:minmax(0,1fr); }
  [data-app="roster-match"] .rm-text{ min-height:130px; }
}
@media (max-width:520px){
  [data-app="roster-match"] .rm-tiles{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  [data-app="roster-match"] .rm-n{ font-size:23px; }
  /* 휴대폰: 16px 미만 입력칸은 누를 때 화면이 확대됨 */
  [data-app="roster-match"] .rm-text, [data-app="roster-match"] .rm-name, [data-app="roster-match"] .rm-col{ font-size:16px; }
}
/* 브라우저 인쇄(Ctrl+P): 결과 목록이 칸 높이(340px)에서 잘리지 않게 */
@media print{
  [data-app="roster-match"] .rm-list{ max-height:none; overflow:visible; }
}
