/* modules/agent — 대시보드 안의 상황판(작업·승인)과 메모리·스킬 열람.
   토큰(색·간격)은 shell.css 것을 상속한다. 선택자는 전부 `.agent-` 로 시작한다
   — 다른 스타일시트와 겹치면 로드 순서가 표시를 바꾼다(테스트가 잠근다). */

.agent-tabs { display: flex; gap: 6px; margin: 14px 0 10px; }

.agent-tab {
  padding: 6px 12px; border-radius: 999px; font-size: 13px;
  background: var(--card); color: var(--muted); border: 1px solid var(--line);
}

.agent-tab.active { color: var(--fg); border-color: var(--accent); }

.agent-sec { margin-bottom: 14px; }

.agent-sec-t { font-size: 13px; font-weight: 600; color: var(--muted); margin-bottom: 6px; }

.agent-job {
  background: var(--card); border: 1px solid var(--line); border-radius: 10px;
  padding: 10px 12px; margin-bottom: 6px;
}

.agent-job.st-failed { border-color: var(--danger, #c0392b); }

.agent-job-h { display: flex; align-items: baseline; gap: 8px; }

.agent-kind {
  font-size: 11px; padding: 1px 7px; border-radius: 999px;
  background: var(--chip, rgba(127, 127, 127, .15)); color: var(--muted); flex: none;
}

.agent-title { flex: 1; font-size: 14px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

.agent-status { font-size: 12px; color: var(--muted); flex: none; }

.agent-job-d { margin-top: 4px; }

.agent-job-f { margin-top: 4px; }

.agent-appr {
  background: var(--card); border: 1px solid var(--accent); border-radius: 10px;
  margin-bottom: 6px; overflow: hidden;
}

.agent-appr-h {
  display: flex; align-items: baseline; gap: 8px; width: 100%;
  padding: 10px 12px; background: none; text-align: left;
}

/* 얼마나 기다리는가 — 건수만 보이면 3분 된 것과 사흘 된 것이 같아 보인다.
   경과는 **항상** 띄우고, 하루를 넘긴 것만 경고색으로 튄다(260804). 늘 경고색이면
   배경이 되어 아무것도 구분하지 못한다 — 폴백 카드를 상시로 두지 않는 것과 같은 이유. */
.agent-aging {
  font-size: 11px; padding: 1px 7px; border-radius: 999px;
  background: var(--warn); color: var(--on-accent); font-weight: 700; flex: none;
}

.agent-aging.fresh { background: var(--line); color: var(--muted); font-weight: 500; }

/* 하루를 넘긴 승인 대기는 카드 자체가 달라 보여야 한다(목록에서 먼저 눈에 든다) */
.agent-appr.stale { border-color: var(--warn); }

.agent-caret { color: var(--muted); flex: none; }

.agent-appr-b { padding: 0 12px 12px; }

.agent-ctx { font-size: 14px; margin: 0 0 8px; }

.agent-appr-act { display: flex; gap: 8px; }

.agent-list { margin: 0; padding-left: 18px; font-size: 14px; }

.agent-list li { margin-bottom: 3px; }

.agent-pre {
  white-space: pre-wrap; font-size: 13px; background: var(--card);
  border: 1px solid var(--line); border-radius: 8px; padding: 10px; margin: 0;
}

/* ── 맡긴 작업 목록(260915 · A-1) — 사슬 하나가 한 줄이다. 네 상태는 색으로도 갈린다.
   색은 토큰만 쓴다(새 리터럴 없음). 실패는 기간으로 사라지지 않으므로 눈에 띄어야 한다. */
.agent-req {
  background: var(--card); border: 1px solid var(--line); border-radius: 10px;
  padding: 10px 12px; margin-bottom: 6px;
}

/* 260914 — 사용자가 쓴 다섯 이름(접수됨·착수 중·진행 중·완료·중지됨)이 키다. 중지됨 중 실패로 끝난 것은 `st-failed` 로 더 튄다. */
.agent-req.ph-stopped.st-failed { border-color: var(--danger); }

.agent-req.ph-running, .agent-req.ph-starting { border-color: var(--accent); }

.agent-phase {
  font-size: 11px; padding: 1px 8px; border-radius: 999px; flex: none; font-weight: 600;
  background: var(--line); color: var(--muted);
}

.agent-phase.ph-running { background: var(--accent); color: var(--on-accent); }

.agent-phase.ph-done { background: var(--ok); color: var(--on-accent); }

.agent-phase.ph-starting { background: transparent; color: var(--accent); border: 1px solid var(--accent); }

.agent-req.st-failed .agent-phase.ph-stopped { background: var(--danger); }

.agent-req-steps, .agent-req-said, .agent-req-note { margin-top: 3px; }

.agent-req-said { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

.agent-req-why { margin-top: 4px; color: var(--danger); }

.agent-req-warn { margin-top: 4px; color: var(--warn); }

.agent-req-noaudio { margin-top: 4px; color: var(--warn); }

.agent-req-result { margin-top: 4px; color: var(--fg); white-space: pre-wrap; }

.agent-req-act { display: flex; gap: 6px; flex-wrap: wrap; margin-top: 8px; }

.agent-foot { margin: 4px 2px 0; }

/* 접수됨·중지됨(260913 안정화 · C · 260914 이름) — 접수됨은 점선(아직 시작 전이다), 중지됨은 경고색 테두리 */
.agent-req.ph-accepted { border-style: dashed; border-color: var(--accent2); }

.agent-req.ph-stopped { border-color: var(--warn); }

.agent-phase.ph-accepted { background: transparent; color: var(--accent2); border: 1px solid var(--accent2); }

.agent-phase.ph-stopped { background: var(--warn); color: var(--on-accent); }

/* 위키 안의 같은 목록(C-3 · 260914 에 위키 화면 **맨 위**로) — 자리만 다르고 줄 모양은 대시보드와 같다 */
.agent-requests-slot { max-width: 680px; margin: 10px auto 12px; padding: 0 14px; }   /* 위키 블록(.wiki-status·.wiki-ask)과 같은 폭·여백 */

.agent-requests-slot:empty { display: none; }
