/**
 * YoromIS.UI.CompactList - 전역 콤팩트 리스트 CSS (공모래)
 * 정본: lib/ui/compact-list.css
 * 미러: dashboard/static/yoromis/ui/compact-list.css
 * 규약: YX001 P5
 * 
 * 91ㅐ: 행간격 표준화 — tokens.css 기반, 1열보다 약간 좁게
 *   1열: padding 2px 4px, font-size 12px, line-height 1.35
 *   2열(공모래): padding 2px 4px, font-size 12px, line-height 1.2
 */

.compact-list {
  display: flex;
  flex-direction: column;
  gap: 1px;
}

.compact-list-item {
  display: flex;
  align-items: center;
  /* 공통 토큰: "코드-명칭 간격"을 1자 수준으로 더 콤팩트하게 */
  gap: var(--yoromis-compactlist-gap, 1px);
  padding: var(--yoromis-spacing-xs, 2px) var(--yoromis-spacing-sm, 4px);
  cursor: default;
  border-radius: 0;
  font-size: var(--yoromis-col2-l3-size, 12px);
  color: var(--yoromis-text-primary, #c9d1d9);
  background: transparent;
  transition: background 0.1s;
  line-height: 1.2;
}

.compact-list-item:hover {
  background: rgba(255, 255, 255, 0.05);
}

.compact-list-item.selected {
  background: rgba(59, 130, 246, 0.32);
  color: var(--yoromis-text-primary, #c9d1d9);
  box-shadow: inset 2px 0 0 #2563eb;
}

.compact-list-item.unread {
  font-weight: 600;
}

.compact-list-title {
  flex: 1;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  min-width: 0;
}

.compact-list-code {
  flex: 0 0 auto;
  width: auto;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: pre;
  max-width: var(--yoromis-compactlist-code-max, 10ch);
  margin-right: var(--yoromis-code-name-gap, 0ch);
  color: inherit;
  font-size: var(--yoromis-code-font-size, 11px);
  font-family: var(--yoromis-code-font-family, Consolas, "SFMono-Regular", Menlo, monospace);
  font-variant-numeric: normal;
}

/* 273ㅈ: 2열 공모래 표기 고정 — 코드열은 장평 고정, 항목명은 가변 */
.compact-list-item.compact-list-two-col .compact-list-code {
  flex: 0 0 auto;
  width: auto;
  max-width: var(--yoromis-compactlist-code-max, 10ch);
  margin-right: var(--yoromis-code-name-gap, 0ch);
  font-family: var(--yoromis-code-font-family, Consolas, "SFMono-Regular", Menlo, monospace);
  font-variant-numeric: tabular-nums;
  text-align: left;
  direction: ltr;
  letter-spacing: 0;
}

.compact-list-sep {
  flex: 0 0 1ch;
  width: 1ch;
  margin: 0 var(--yoromis-code-name-gap, 0ch);
  text-align: center;
  color: inherit;
  font-size: var(--yoromis-code-font-size, 11px);
  font-family: var(--yoromis-code-font-family, Consolas, "SFMono-Regular", Menlo, monospace);
  line-height: 1;
}

.compact-list-item.compact-list-two-col .compact-list-title {
  min-width: 0;
}

/* unread 굵기 변화가 코드열 정렬을 흔들지 않도록 고정 */
.compact-list-item.unread .compact-list-code {
  font-weight: 400;
}

.compact-list-title {
  font-family: var(--yoromis-font, "Segoe UI", sans-serif);
}

.compact-list-date {
  flex-shrink: 0;
  font-size: 10px;
  color: var(--yoromis-text-secondary, #6e7681);
  margin-left: auto;
}

.compact-list-empty {
  padding: var(--yoromis-spacing-md, 8px);
  text-align: center;
  color: var(--yoromis-text-secondary, #6e7681);
  font-size: var(--yoromis-font-small, 11px);
  font-style: italic;
}

.compact-list-read-icon {
  cursor: pointer;
  flex-shrink: 0;
  width: 14px;
  text-align: center;
  /* 말머리표는 약간 더 크게 (공통 토큰) */
  font-size: var(--yoromis-compactlist-bullet-size, 11px);
  user-select: none;
  line-height: 1;
  color: var(--yoromis-compactlist-bullet-read-color, #6e7681);
}

/* 149ㅈ: 2열 상태 색상 팔레트 (C/M/R/G/B) */
.compact-list-item[data-status="PLAN"] .compact-list-read-icon {
  color: var(--yoromis-status-cyan, #00BCD4);
}
.compact-list-item[data-status="CODING"] .compact-list-read-icon {
  color: var(--yoromis-status-magenta-clear, #B388FF);
}
.compact-list-item[data-status="DEBUGGING"] .compact-list-read-icon {
  color: var(--yoromis-status-red-orange, #D2691E);
}
.compact-list-item[data-status="TEST"] .compact-list-read-icon {
  color: var(--yoromis-status-green-light, #8BC34A);
}
.compact-list-item[data-status="BACKUP_DONE"] .compact-list-read-icon {
  color: var(--yoromis-status-yellow-deep, #C9A300);
}

.compact-list-item[data-status="PENDING"] .compact-list-read-icon {
  color: var(--yoromis-status-cyan, #00BCD4);
}
.compact-list-item[data-status="IN_PROGRESS"] .compact-list-read-icon {
  color: var(--yoromis-status-magenta-clear, #B388FF);
}

/* 읽음/안읽음은 명도 차이로만 표현 (색상은 상태색 유지) */
.compact-list-item[data-read-state="read"] .compact-list-read-icon {
  opacity: 0.45;
}
.compact-list-item[data-read-state="unread"] .compact-list-read-icon {
  opacity: 1;
}

/* MSAA01: Col2 네이티브 checkbox 폐기 — Col1 createCheckMark(.yoromis-ms-chk) 재사용 */
.compact-list-item .yoromis-ms-chk,
.compact-list-item .yoromis-col1-multi-chk {
  display: inline-block;
  width: 18px;
  margin-right: var(--yoromis-spacing-xs, 2px);
  cursor: pointer;
  user-select: none;
  flex-shrink: 0;
}

/* Shift+클릭 브라우저 텍스트선택(검정 테두리) 차단 — Col1 트리와 동일 */
.compact-list,
.compact-list-item {
  user-select: none !important;
  -webkit-user-select: none !important;
}
.compact-list:focus,
.compact-list:focus-visible {
  outline: none !important;
}

/* 레거시 wrap 숨김(잔존 DOM 방어) */
.compact-list-checkbox-wrap {
  display: none !important;
}

/* 상태 그룹 헤더 */
.compact-list-group-header {
  font-size: 9px;
  font-weight: 600;
  color: var(--yoromis-text-secondary, #8b949e);
  padding: 4px 8px 2px 8px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  border-bottom: 1px solid var(--yoromis-border, #21262d);
  margin-top: 4px;
}

.compact-list-group-header:first-child {
  margin-top: 0;
}
