/* 조 편성·자리 배치 */
[data-app="team-maker"]{ display:flex; flex-direction:column; gap:10px; }
[data-app="team-maker"] .tm-inhead{ display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:4px 8px; margin:0 0 6px; }
[data-app="team-maker"] .tm-inhead .ndt-k{ font-size:13.5px; color:#1A1A1A; }
[data-app="team-maker"] .tm-count{ font-weight:700; color:#6B717B; }
[data-app="team-maker"] .tm-names{ min-height:112px; font-size:15px; line-height:1.45; tab-size:6; }
[data-app="team-maker"] .tm-hint{ margin:4px 0 0; font-size:12px; line-height:1.45; }
[data-app="team-maker"] .tm-saved{ color:#0D7A43; font-weight:700; white-space:nowrap; }
[data-app="team-maker"] .tm-saved.bad{ color:#B42318; }
[data-app="team-maker"] .tm-warn,
[data-app="team-maker"] .tm-stale{ margin:4px 0 0; padding:6px 8px; border-radius:8px; background:#FFF6E0; color:#7A5200; font-size:12.5px; line-height:1.45; overflow-wrap:anywhere; }
[data-app="team-maker"] .tm-stale{ margin:0 0 8px; }
/* 나누는 법 */
[data-app="team-maker"] .tm-set{ display:flex; flex-direction:column; gap:8px; padding:10px; border-radius:12px; background:#F7F8FA; border:1px solid #ECEEF2; }
[data-app="team-maker"] .tm-seg{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); border:1px solid #C9CED6; border-radius:10px; overflow:hidden; background:#fff; }
[data-app="team-maker"] .tm-segb{ min-height:40px; padding:0 6px; border:0; background:transparent; color:#4B5059; font:inherit; font-size:14px; font-weight:800; cursor:pointer; word-break:keep-all; }
[data-app="team-maker"] .tm-segb + .tm-segb{ border-left:1px solid #C9CED6; }
[data-app="team-maker"] .tm-segb[aria-pressed="true"]{ background:#1A1A1A; color:#fff; }
[data-app="team-maker"] .tm-step{ display:flex; align-items:center; gap:6px; flex-wrap:wrap; }
[data-app="team-maker"] .tm-step .ndt-btn{ min-width:42px; padding:0 8px; font-size:20px; line-height:1; }
[data-app="team-maker"] .tm-num{ width:72px; min-height:40px; text-align:center; font-size:18px; font-weight:800; }
[data-app="team-maker"] .tm-unit{ font-size:15px; font-weight:800; color:#1A1A1A; }
[data-app="team-maker"] .tm-plan{ margin:0; font-size:13px; line-height:1.45; font-weight:700; color:#314B86; font-variant-numeric:tabular-nums; }
[data-app="team-maker"] .tm-mix{ display:flex; align-items:center; gap:8px; min-height:36px; font-size:13.5px; font-weight:700; color:#1A1A1A; cursor:pointer; }
[data-app="team-maker"] .tm-mix input{ flex:none; width:20px; height:20px; margin:0; accent-color:#1A1A1A; cursor:pointer; }
[data-app="team-maker"] .tm-go{ width:100%; min-height:46px; font-size:15px; }
[data-app="team-maker"] .tm-msg{ margin:0; font-size:12.5px; line-height:1.45; font-weight:700; color:#0D7A43; overflow-wrap:anywhere; }
[data-app="team-maker"] .tm-msg.bad{ color:#B42318; }
[data-app="team-maker"] .tm-msg:empty,
[data-app="team-maker"] .tm-fbw:empty{ display:none; }
/* 결과 */
[data-app="team-maker"] .tm-res{ min-width:0; padding:10px; border-radius:12px; background:#F7F8FA; border:1px solid #ECEEF2; }
[data-app="team-maker"] .tm-empty{ margin:6px 0; color:#6B717B; font-size:13px; text-align:center; }
[data-app="team-maker"] .tm-rh{ display:flex; flex-wrap:wrap; align-items:baseline; justify-content:space-between; gap:2px 8px; margin:0 0 8px; font-size:14px; }
[data-app="team-maker"] .tm-rh .ndt-muted{ font-variant-numeric:tabular-nums; }
[data-app="team-maker"] .tm-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(112px,1fr)); gap:6px; }
[data-app="team-maker"] .tm-team{ min-width:0; padding:8px; border-radius:10px; background:#fff; border:1px solid #E6E8EC; }
[data-app="team-maker"] .tm-th{ display:flex; align-items:baseline; justify-content:space-between; gap:4px; margin:0 0 4px; padding-bottom:4px; border-bottom:1px solid #EEF0F3; }
[data-app="team-maker"] .tm-th b{ font-size:15px; font-weight:900; color:#1A1A1A; }
[data-app="team-maker"] .tm-th small{ font-size:11.5px; font-weight:700; color:#6B717B; }
[data-app="team-maker"] .tm-team ol{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:3px; }
/* 이름 + 기준 꼬리표: 자리가 모자라면 꼬리표가 다음 줄(오른쪽)로 — 긴 이름·긴 부서 이름도 잘리지 않게 */
[data-app="team-maker"] .tm-team li{ display:flex; flex-wrap:wrap; align-items:center; gap:2px 4px; min-width:0; font-size:14px; font-weight:700; line-height:1.35; }
[data-app="team-maker"] .tm-team li span{ flex:1 1 3.2em; min-width:0; overflow-wrap:anywhere; }
[data-app="team-maker"] .tm-team li i{ flex:0 1 auto; max-width:100%; margin-left:auto; padding:0 6px; border-radius:9px; font-style:normal; font-size:11px; font-weight:800; line-height:1.6; overflow-wrap:anywhere; background:#EEF0F4; color:#4B5059; }
[data-app="team-maker"] .tm-team li i.g0{ background:#E3ECFF; color:#1E3F8A; }
[data-app="team-maker"] .tm-team li i.g1{ background:#E2F5E9; color:#13633A; }
[data-app="team-maker"] .tm-team li i.g2{ background:#FFF0DB; color:#8A4B00; }
[data-app="team-maker"] .tm-team li i.g3{ background:#F1E6FF; color:#5B2A99; }
[data-app="team-maker"] .tm-team li i.g4{ background:#FFE4EC; color:#9A1F45; }
[data-app="team-maker"] .tm-team li i.g5{ background:#DDF4F4; color:#0E5E5E; }
[data-app="team-maker"] .tm-bal{ margin:8px 0 0; font-size:12px; line-height:1.5; overflow-wrap:anywhere; }
/* 아래 줄 — 「결과 복사」는 한 줄 전체, 「인쇄」·「CSV(엑셀)」은 반씩: 「복사됨 · 붙여 넣으세요」로 글이 길어져도 옆 단추가 밀리지 않음 */
[data-app="team-maker"] .tm-foot{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:6px; }
[data-app="team-maker"] .tm-foot .ndt-btn{ min-height:44px; padding:0 8px; white-space:normal; line-height:1.25; text-align:center; word-break:keep-all; }
[data-app="team-maker"] .tm-foot .tm-copy{ grid-column:1 / -1; min-height:46px; font-size:15px; background:#1A1A1A; border-color:#1A1A1A; color:#fff; }
[data-app="team-maker"] .tm-foot .tm-copy.ndt-ok{ background:#0D7A43; border-color:#0D7A43; }
@media (max-width:560px){
  /* 폰: 입력 칸 글자 16px(아이폰이 확대하지 않게) */
  [data-app="team-maker"] .tm-names{ font-size:16px; }
}
/* 인쇄(「인쇄」 버튼 — 결과만 한 장에) */
@media print{
  [data-app="team-maker"]{ border:0; padding:0; }
  [data-app="team-maker"] .tm-res{ padding:0; border:0; background:none; }
  [data-app="team-maker"] .tm-grid{ grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
  [data-app="team-maker"] .tm-team{ break-inside:avoid; border-color:#999; }
  [data-app="team-maker"] .tm-team li{ font-size:13pt; }
  [data-app="team-maker"] .tm-team li i{ border:1px solid #bbb; }
}
