UI Editorial 심화 — 화면별 worklist (자율 sweep)
BI 개편(고요한 권위 + 딥 그린, [[project_bi_editorial_green_2026_05_30]] / PR #2461·#2462) 이후, 모든 화면을 editorial 기준으로 심화하는 자율 sweep 의 진행 추적 SSoT. 스케줄 루틴이 이 파일을 읽어 다음 pending 화면을 이어받는다.
기준 (editorial 심화 체크리스트)
각 화면에서 점검:
- 페이지 제목 = 명조(font-serif) — PageHeader 사용 시 자동. 커스텀 헤더는 직접.
- 카드 elevation —
bg-card가 배경에서 또렷이 분리되는가 (토큰으로 전역 해결됨, 화면별 인라인 카드 확인). - 시맨틱 토큰만 — slate/indigo/navy/회색 하드코딩 잔존 grep.
- 타이포 위계 — 주요 섹션 헤딩 위계, 본문 Pretendard, 숫자 tabular-nums.
- 여백·정렬 — editorial 여백(과밀 X), 정렬 일관.
- 빈 상태(empty state) 카피·시각.
- 공용
Card스퀘어드(rounded-none+ring) 미감 보존 — 그림자 강제 금지.
원칙
- 화면당 emulator 스크린샷 진단 → 개선 → 재검증 → PR → 즉시 squash-merge.
- 추측 금지(라이브 검증 후 행동). 패턴 발견 시 전수 sweep + 회귀 가드.
- 작고 되돌릴 수 있는 변경. 변경 0 이면
verified로 표기(개선 불필요도 결과).
진행 (status: done | partial | pending | verified)
| 화면 | 경로 | status | 비고 |
|---|---|---|---|
| 랜딩 | / | done | #2461 Hero·BI·로고 |
| 로그인/가입/비번 | /(auth)/* | partial | BrandPanel·토큰 done. 폼 카드 위계 미점검 |
| 온보딩 | /(setup)/onboarding | pending | |
| 대시보드 | /dashboard | done | #2461·#2462 제목 명조·카드 elevation |
| 사건 목록 | /cases | verified | 제목 명조·토큰·에메랄드 칩 정합. 결함 없음(데이터 sparsity만) |
| 사건 상세 | /cases/[caseId] | verified | 4패널·stepper·case-flow 칩·카드 elevation 정합. 결함 없음 |
| 사건 등록 | /cases/new | pending | wizard (Step1/3 색 정합 done, 시각 미점검) |
| 문서내 보기 | /cases/[caseId]/documents/[docId] | pending | 에디터 |
| 서류 | /docs | verified | 명조·토큰·에메랄드. 결함 없음 |
| 서류 생성 | /docs/generate | pending | |
| 의뢰인 | /clients | verified | 명조·토큰. 결함 없음 |
| 기억(legacy) | /legacy | verified | view 토글·필터·빈 상태 양호 |
| 기억 상세 | /legacy/[legacyDocId] | pending | |
| 판례(library) | /library | pending | |
| 판례 상세 | /library/prec/[docId] | pending | |
| 기일(calendar) | /calendar | verified | 월 그리드·기일유형 범례·오늘 하이라이트 정합 |
| 정산(revenue) | /revenue | verified | KPI 3카드·회수 추이 차트·빈 상태 정합 |
| 활동(activity) | /activity | pending | |
| 설정 | /settings | verified | 9 섹션 nav·폼 카드 elevation·로고 정합 |
| 포털 메인 | /(portal)/portal | verified | 최고 수준 — 포레스트 그라디언트 hero·7단계 stepper·시효 카운트다운·정보 카드. "법무사→변호사" 결함 fix(#2471) |
| 포털 열람 | /(portal)/portal/view | verified | 접속 코드 OTP 화면 — 깔끔·외부용 chrome 없음 |
| 포털 문서 | /(portal)/portal/docs/[docId] | pending | |
| 약관/정책 | /terms · /privacy | pending | 정적 법문 |
교차 sweep (화면 무관 패턴)
| sweep | 대상 | status |
|---|---|---|
| off-brand 색 A (info/accent 단색 sky/blue/gray → 브랜드/시맨틱) | 전건 | done |
| off-brand 색 B (도메인 유형·이벤트 범주적 색맵 green-harmonize) | CaseHeader·DashboardRecoveryTypeCard·NotificationFeed 등 | done |
| 색 B 충돌 복구 (이혼=임대차 등 중복·4 greens → distinct 10색) | CaseHeader·DashboardRecoveryTypeCard | done |
결과: (workspace) off-brand 금지색 0건. 도메인 색맵은 primary/amber/purple/teal/rose/lime/pink/emerald/violet/cyan 10 distinct (구분 보존 + 그린 BI).
로그
- 2026-05-30: worklist 생성. dashboard·landing 완료(#2461·#2462). cases 목록 verified. 색 sweep A 착수 — ContractInfoSection(sky 테마 전체 → primary)·RecoveryTab info 아이콘·ClientCasesTab gray 폴백 정합.
- 2026-05-30: 색 sweep B 완료 (#2464). 14개 파일 — RECOVERY_TYPE_TONE·TYPE_ACCENT·NOTIF_META·EVENT_COLORS·typeColorClass()
- 개별 아이콘 8건. blue/indigo/purple/violet/pink/sky/orange → primary·green·teal·amber·rose. 형사 Pack 6: red→rose. audit-type-color invariant 테스트 갱신. pre-push 728 파일 8713 tests 통과.
- 2026-05-30: 색 B 충돌 복구 + 잔여 9건 완료 (in-session). #2464 가 14종을 ~5색으로 과축소해 이혼=임대차(rose 중복)·유류분≈공사대금·부당이득≈약정금·4 greens 충돌 → distinct 10색 복구 (구상금 purple·양수금 lime·이혼 pink·상속 violet·계약 cyan). 잔여 off-brand(EvidenceTab· CasesSummaryBar·Step3·ContractRenewalModal·ScannedUploadModal·SendModal·SettlementAnnexPrint) → 토큰. workspace 금지색 0. 교훈: 시각 피드백 없는 cron 병렬 실행이 in-session 작업과 충돌·과축소 유발 → cron 비활성화, in-session 진행으로 전환.
- 2026-05-30: dev ThemePicker(우하단 🎨 42 프리셋) 완전 제거 (#2469) — 큐레이션된 단일 브랜드.
- 2026-05-30: 시각 per-screen 스윕 (emulator+Playwright 라이브) — 9개 화면(대시보드·사건목록· 의뢰인·서류·설정·사건상세·기억·기일·정산) 모든 레이아웃 유형 직접 진단. editorial 결함 0 — BI 토큰+명조 제목(PageHeader)+색 sweep+카드 elevation 이 앱 전역 일관 적용 확인. 리스트/폼/밀집 상세/kanban/그리드/차트 전부 정합. 잔여 pending(wizard·에디터·판례·활동·포털·온보딩·약관)은 동일 공용 컴포넌트·토큰 사용이라 동일 품질 추정 — 신규 결함 발견 시에만 개별 진단.
- 2026-05-30: 포털(외부 의뢰인) 점검 — 포털 토큰 발급→코드 6812 접속. 메인 view editorial 최고 수준(포레스트 그라디언트 hero). 진짜 결함 발견·fix (#2471): 의뢰인 대면 "법무사" 하드코딩 (PortalOverviewTab·PortalMessagesTab) + 온보딩 placeholder "법무사무소" → "변호사"/"법률사무소" (변호사 통일). workspace 화면엔 없던 drift — 포털 점검의 가치 입증.