맑은messageAdminDesign System
BackOffice Design System

More density,
fewer clicks.

관리자단은 운영자가 표 · 필터 · 로그를 동시에 본다. 4px 리듬 · 작은 폼 · dense table을 기본으로, 위험 액션은 항상 명시하고 운영 상태는 항상 보이게 한다.

정본
DESIGN-ADMIN.md
폰트
DM Sans
+ Pretendard
Primary
#3b82f6
tailwind blue
스택
Nuxt 3 · Nuxt UI v3
Tailwind v4
§ B1 · 01

디자인 원칙

사용자단 7원칙을 상속하되, 관리자단은 다음 5가지를 우선한다.

정보 밀도 우선

운영자는 표·필터·로그를 동시에 본다. 4px 리듬, 작은 폼, dense table을 기본. 여백·라운드·그림자는 최소.

빠른 작업 흐름

같은 작업의 반복. 키보드 친화(⌘K 명령 팔레트, / 검색 포커스), 일괄 선택, 저장된 필터.

위험 액션 명시

모든 mutating action은 사유 입력 + 컨펌, 감사 로그 기록. UI에서 위험도 시각화(빨간 ring·라벨).

상태 가시화

점검 모드·발송 임박·인증서 만료 등 운영 상태는 상단 배너·사이드바 배지로 항상 보여야 한다.

시안 무관

사용자단 시안은 백오피스 메뉴 트리만 정본. 화면 디자인은 본 문서가 정본.

§ B2 · 02

컬러

slate 무채색으로 90%, blue 액센트는 강조에만. 색은 항상 Tailwind 토큰으로.

Primary Tailwind blue

primary in app.config.ts
blue-50
#eff6ff
Active BG · soft
blue-100
#dbeafe
아이콘 박스 active
blue-500
#3b82f6
Default · 채널 dot SMS
blue-600
#2563eb
Primary CTA
blue-700
#1d4ed8
Active text · Link
blue-800
#1e40af
CTA hover

Neutral Tailwind slate

neutral in app.config.ts
slate-900
#0f172a
Heading · dark surface
slate-700
#334155
본문 strong
slate-500
#64748b
보조 텍스트
slate-400
#94a3b8
muted · placeholder
slate-200
#e2e8f0
ring · border
slate-50
#f8fafc
paper · subtle BG

Semantic Nuxt UI 토큰

color="success"
#10b981
완료 · 정상 동작
color="warning"
#f59e0b
점검 · 한도 임박
color="error"
#ef4444
실패 · 차단
color="info"
#3b82f6
안내 · 신규

Channel dots 점 표시 전용

SMS Kakao RCS Email Push Flow
§ B3 · 03

타이포그래피

DM Sans + Pretendard. 본문 13px이 기본. 사용자단의 28px Display는 사용 안 함.

Hero
w700 · -0.02em
More density.
44px
LH 52
H1 · 페이지
w700 · -0.01em
(주)춘향뎐 · 고객사 상세
22px
LH 30
H2 · 섹션
w600 · -0.005em
계정 목록 (4)
15px
LH 22
Body
w400 · 0
주문하신 상품이 출고되었습니다. 운송장 1234.
13px
LH 20
Body strong
w600 · 0
운영자 김덕조 · 어제 22:11
13px
LH 20
Caption
w400 · 0
필수 입력 항목입니다.
12px
LH 16
Eyebrow (mono)
w600 · 0.08em
회원/고객사 · 고객사 상세
11px
LH 14
Mono · 수치/ID
w500 · 0
CID 0000-2241
12px
LH 16
§ B4 · 04

간격 — 4px 리듬

관리자단은 사용자단보다 한 단계 dense. 모든 spacing은 4px의 배수.

4
6
8
10
12
14
16
20
24
32
카드 padding
16
카드 간 gap
12
페이지 padding
24
입력 height
32 · 36
§ B4 · 05

라운드 · ring

관리자단은 그림자 대신 ring-1로 분리.

rounded
4px
작은 칩 · kbd
rounded-md
6px
버튼 · 입력 · pill
rounded-lg
8px
카드 · 모달 · 패널
rounded-xl
12px
히어로 · 대형 카드
분리 패턴
ring-1 ring-slate-200
✓ 기본 카드
shadow-ring
✓ floating(dropdown · toast)
shadow-md
✗ 일반 카드에 금지
§ B6 · 06

버튼 · UButton

Nuxt UI v3 UButton 그대로. variant × color × size 조합.

variants × primary
colors (variant = solid)
sizes
아이콘 + 라벨
§ B6 · 07

배지 · UBadge

상태 · 분류 · 카운트. variant = subtle 기본.

colors (variant = subtle)
법인사업자정상계약 갱신차단신규CID 0000-2241
variants × primary
solidoutlinesoftsubtle
§ B6 · 08

폼 입력

UInput · USelect · UCheckbox · UTextarea · UFormField.

13자리 숫자, '-' 없이
사업자등록번호 형식이 올바르지 않습니다.
§ B6 · 09

테이블 — dense

행 44px · 헤더 36px · 호버 bg-slate-50 · 구분선 divide-slate-100.

4
계정 ID이름역할상태최근 활동동작
AC-0042김덕조대표정상14분 전
AC-0041이영희운영정상1시간 전
AC-0040박철수운영차단어제 22:11
AC-0039최승연읽기대기4일 전
§ B5 · 10

레이아웃 — Shell

LNB(256px sticky) + TopBar(64px sticky) + 콘텐츠 영역.

LNB
256px
sticky
8 그룹
TopBar · 64px sticky 14ms
크럼
고객사 상세
페이지 콘텐츠 영역 — px-6 py-5
  • LNB 256px sticky · TopBar 64px sticky · 콘텐츠 영역 flex-1 px-6 py-5
  • 페이지 헤더: eyebrow(11px) + h1(20px) + 배지 + 우측 액션 버튼
  • 오른쪽 보조 패널이 필요한 경우 360px sticky (예: 고객사 상세 메모 패널)
§ B6 · 11

위험 액션 패턴

차단 · 강제 발송 · 키 회전 · 크레딧 무료 발급 — 모두 사유 입력 + 컨펌.

Danger
감사 로그 기록
고객사 강제 차단

차단 시 해당 고객사의 모든 발송이 즉시 중단되며 actor · IP · before-after가 자동 기록됩니다.

규칙
  • 사유 필수
  • 컨펌 단계 단일 클릭 즉시 실행 금지
  • 위험도 시각화 ring-red-200 + 라벨
  • 실행 버튼 color="error"
  • 감사 로그 백엔드 자동 기록
§ B6 · 12

상태 가시화

운영 상태는 상단 배너 · 칩으로 항상 보여야 한다.

점검 모드 진행 중
2026-05-27 22:00 ~ 23:00 · 발송 요청 큐잉만 가능
APNs 인증서 만료 임박
7일 후 만료 — 채널/연동 · APNs
상태 칩
시스템 정상 · 14ms 지연 · 412ms 장애 점검 중
§ B6 · 13

톤 · 마이크로카피

관리자단은 영문 약어(RBAC · DKIM · FCM · 2FA 등) 허용 — 운영자 친화 어휘 우선.

상황권장지양
빈 목록아직 등록된 항목이 없습니다.데이터 없음
신규 유도새 고객사 추가등록 (맥락 없음)
일반 오류처리 중 오류가 발생했습니다. 잠시 후 다시 시도해 주세요.Error 500
권한 부족이 작업을 수행할 권한이 없습니다. RBAC 정책에 따라 super_admin에게 요청하세요.Forbidden
위험 액션 컨펌정말 차단하시겠습니까? 사유를 입력해야 진행됩니다.확인하시겠어요?
임박 알림APNs 인증서가 7일 후 만료됩니다.Expires soon
맑은 메시징 Admin · Design System
v0.1 · 2026-05-27
© 2026 맑은소프트