승마 아카데미 운영 어드민의 디자인 시스템. 첫인상이 아니라 매일 8시간 켜두는 도구의 100번째 진입 피로도를 설계한다 — 예측 가능성·낮은 시각 소음·4의 배수 정렬 위에 단 한 점의 보라.
미감보다 운영 적합성. 6개의 결정이 모든 화면을 지배한다.
font-size만 예외.#6B00FF는 페이지당 최대 2회, 표면의 8–12%만 — active nav·취미 티어·차트 한 선. 그라디언트·글로우·메시는 전면 금지. 한 점이 강조로 작동하려면 나머지가 무채색이어야 한다.border를 두면 border-box가 1px를 흡수 못 해 렌더 높이가 4-mult를 깬다. 시각적으로 동일한 box-shadow: inset 0 0 0 1px로 그려 레이아웃에 0 영향.#DFDFD7)와 명도차 84%로 본문보다 먼저 시선을 끈다. #5B5B59(명도차 ~60%)로 낮춰 사이드바를 배경에 물리고 본문에 주도권을 준다.값은 src/index.css의 :root와 1:1. 모든 색이 데이터 인코딩 또는 상태 의미를 가지며, 장식 목적의 색은 없다.
모든 layout 차원은 4의 배수. 바는 실제 토큰 px값을 비례 표시한다.
0 → 50%의 정해진 단계만 사용. 유니폼 16px 라운드도, 알약형도 임의 값이 아니다.
알약형은 rounded-full(=∞)이 아니라 라디우스 사다리로 근사한다 — 뱃지(h24) → 12, 버튼·탭(h36–44) → 24. height의 절반을 사다리 값으로 올림. rounded-full과 비-사다리 임의 라운드는 금지.
본문 Pretendard Variable, 숫자·ID·금액은 JetBrains Mono(tabular). display는 700이 아니라 600 — 무게로 위계를 만들되 과하지 않게.
| role | sample | size / line-height / weight |
|---|---|---|
| caption | 학생 32명 · 미납 3건 | 12 / 16 / 400 |
| body | 오늘 등록된 수업 일정입니다 | 14 / 20 / 400 |
| base | 수강생 관리 | 16 / 24 / 400 |
| heading | 이번 달 매출 | 18 / 24 / 600 / -.01em |
| display | 대시보드 | 24 / 32 / 600 / -.02em |
| display-lg | ₩ 12,480,000 | 32 / 40 / 600 / -.02em |
엘리베이션은 단일 --shadow-card(spread −16, 8% 불투명) 한 종류뿐. 경계선은 4-mult를 지키기 위해 border가 아닌 inset shadow로 그린다.
| auto-height 컨테이너 | box-shadow: inset 0 0 0 1px — 높이 불변 |
| 고정 height 요소 | border 허용 — border-box가 흡수 |
| 행 분리선 | inset 0 −1px 0 var(--border-s) |
| 상단 구분선 | inset 0 1px 0 var(--border) |
높이 24 고정, 라디우스 12(알약). 의미축마다 시각 처리(solid / tint / outline / dot)가 다르다.
단일 아이콘 체계(Solar Bold Duotone). currentColor로 색을 상속하고, 배경 path의 opacity .4–.7로 듀오톤을 만든다 — 두 색을 칠하지 않는다. 16 / 20 / 24 그리드.
모두 ease-out(감속) 단일 곡선. 짧고 일관되게 — 운영툴에서 모션은 피드백이지 연출이 아니다.
"그럴듯한 기본값"이 곧 진부함이다. 아래는 전부 금지 — 대표 항목.
rounded-2xl 카드 · rounded-full 버튼h-9 rounded-md · shadow-sm)border아래는 더미가 아니라 실행 중인 앱(React 19 · MSW mock 데이터)을 그대로 캡처한 것이다 — 차트·폰트·아이콘·라운드 전부 1:1.













