J Tech International v1.0
Design system / Web controls / Library · 2026 build 04
CONTROLS · v1.0 · KO/EN

웹 컨트롤 라이브러리

J Tech International 의 컴포넌트 시스템. 제약 산업의 컴플라이언스·정확성·정돈된 데이터 표현이라는 요구를 그대로 UI 토큰과 컨트롤에 옮겼습니다. A controls library for J Tech International. Compliance, precision, and disciplined data — translated into tokens and components.

컴포넌트
53
9 categories · 4 patterns
토큰
128
color · type · space · motion
접근성
AA+
WCAG 2.2 · KWCAG 2.2
언어
KO · EN
한·영 동시 라벨링
01

토큰 · 시스템 Foundations

color · type · space · radius · shadow · motion
01.1
컬러 토큰 Color tokens
brand 70/8/18/4 · status 4
Color
브랜드 4색 + 상태 4색Brand 4 + Status 4
Navy 는 시스템의 주조색. Teal 은 액센트·신호. Paper/Ink 는 표면·텍스트. 상태색은 brand 톤과 충돌하지 않게 채도를 낮춰 사용.
Primary · 70%
Navy
#0B2C4A · oklch(.28 .07 248)
Accent · 8%
Teal
#0E7C7B · oklch(.50 .07 188)
Surface · 18%
Paper
#F4F4F2
Text · 4%
Ink
#101820
Status · OK
--ok
= Teal
Status · WARN
--warn
#B07A1A
Status · DANGER
--danger
#C64545
Text · MUTED
--muted
#5A6B7A
01.2
타입 스케일 Type scale
Pretendard / Noto Sans KR · 8 sizes
Type
스케일 + 라벨Scale + label
한·영 단일 패밀리. 라벨류는 mono + 0.14em. tabular-nums 로 수치 정렬.
display-1
신뢰의 설계 · Engineering trust
48 / 1.05 / -0.025
h1
컴플라이언스 운영
32 / 1.15 / -0.02
h2
영업 활동 모니터링
22 / 1.25 / -0.015
h3
처방 유도 키워드 검출
16 / 1.4 / -0.01
body
GxP 와 21 CFR Part 11 기준에 맞춘 제약 클라이언트용 데이터 인프라.
13 / 1.55 / 0
small
설명·캡션·헬퍼 텍스트에 사용. 본문보다 한 단계 낮춥니다.
11 / 1.5 / 0
label
SECTION · LIVE · WATCH
10 / 1 / 0.14
mono
Noto Sans KR · 5 / 12 / 2025-08-31T14:02Z
12 / 1.55 / 0
01.3
스페이싱 · 라운드 · 그림자 Spacing · Radius · Shadow
4-base · 3 r · 2 e
Space · Radius · Shadow
기본 4·단위 px4-base in px
scale은 4의 배수. radius 는 sharp 2 / normal 4 / soft 8. 그림자는 elev-1/2/pop 세 단계만.
Spacing
--s-1
4 px
tight inline
--s-2
8 px
grouped
--s-3
12 px
card pad
--s-4
16 px
block
--s-5
24 px
section
--s-6
32 px
page
Radius & Shadow
--r-1
2 px · kbd · input affix
--r-2
4 px · buttons, inputs
--r-3
6 px · cards, popovers
--pill
999 px · badge, switch
elev-1
buttons hover, card resting
elev-2
menus, popovers
pop
modals, toasts, command-K
:root {
  --s-1: 4px;  --s-2: 8px;
  --s-3: 12px; --s-4: 16px;
  --s-5: 24px; --s-6: 32px;
  --r-1: 2px; --r-2: 4px;
  --r-3: 6px; --r-pill: 999px;
  --shadow-1: 0 1px 0 #0001,
                 0 1px 2px #0001;
}
01.4
모션 Motion
cubic-bezier(.2,.7,.2,1)
Motion
3단계 듀레이션3 durations
한 가지 ease 함수만 씀. fade / nudge / scale 외 화려한 모션은 지양.
--t-1
90 ms · hover
--t-2
160 ms · controls
--t-3
240 ms · popover
:root {
  --t-1: 90ms;
  --t-2: 160ms;
  --t-3: 240ms;
  --ease: cubic-bezier(.2,.7,.2,1);
}
02

버튼 Buttons

primary · secondary · ghost · danger · link · 4 sizes · group · split · back
Variants
우선순위 4단계4 priorities
한 화면에 primary 는 1개. accent 변형은 가입/저장 같이 긍정 액션에서만. 부정 액션은 danger 단독.
자세히 보기 →
<button class="btn btn-primary">제출</button>
<button class="btn btn-secondary">취소</button>
<button class="btn btn-ghost">건너뛰기</button>
<button class="btn btn-danger">삭제</button>
Sizes
xs · sm · md · lg4 sizes
테이블 행 액션은 xs/sm. 폼 마지막 액션은 md. 랜딩의 CTA 만 lg.
<button class="btn btn-primary btn-xs">XS</button>
<button class="btn btn-primary btn-sm">SM</button>
<button class="btn btn-primary">MD</button>
<button class="btn btn-primary btn-lg">LG</button>
States & icons
로딩 · 비활성 · 아이콘Loading · disabled · icon
로딩은 라벨을 비우지 말고 그대로 둔 채 스피너만 덮어쓰기. 아이콘은 14×14, gap 6.
<button class="btn btn-primary">
  <svg>...</svg> 새 활동
</button>

<button class="btn btn-primary is-loading">
  제출 중
</button>
Icon-only
툴바·테이블 행 액션Toolbar & row actions
반드시 title 또는 aria-label 동반. tooltip 으로 보강.
<button class="iconbtn bordered" aria-label="편집">
  <svg>...</svg>
</button>
Back
뒤로가기Back control
PC 는 인라인 버튼(텍스트형/아이콘형), 모바일은 상단 앱바(제목 동반/아이콘 단독). 아이콘 단독은 aria-label 필수.
PC · 텍스트형 Desktop · with label
PC · 아이콘형 Desktop · icon only
모바일 · 텍스트형 Mobile · with title
방문 상세
모바일 · 아이콘형 Mobile · icon only
<button class="backbtn">← 뒤로</button>
<button class="backbtn is-icon" aria-label="뒤로">‹</button>

<div class="appbar">
  <button class="appbar-back" aria-label="뒤로">‹</button>
  <span class="appbar-title">방문 상세</span>
</div>
Group & Split
필터 / 분할 액션Filter / Split
버튼 그룹은 toggle 류 (보기 전환). 스플릿은 기본 + 옵션 펼침.
<div class="btngroup">
  <button class="btn btn-sm is-active">하루</button>
  ...
</div>

<div class="splitbtn">
  <button class="btn btn-primary">제출</button>
  <button class="iconbtn">▾</button>
</div>
03

입력 Inputs

text · affix · textarea · select · stepper · combobox · tag · date · time · file
Text · States
기본·포커스·에러·성공·비활성Default · focus · error · success · disabled
라벨은 항상 위에. 헬퍼 텍스트는 라벨과 동일 컬럼. 오류 시 라벨 옆 별표 → 헬퍼로 사유 명시.
한글 또는 영문 2자 이상
✓ 검증됨
✕ 형식이 올바르지 않습니다 (PXX-NNNN)
수정할 수 없습니다
<div class="field">
  <label class="field-label">
    사번 <span class="req">*</span>
  </label>
  <input class="input is-error" />
  <span class="field-help err">
    형식 오류
  </span>
</div>
Affix
접두·접미사 결합Prefix & suffix
단위·도메인·통화·키보드 단축키 표시에 사용. 검색 인풋은 단축키 suffix 권장.
K
https://
/월
<div class="input-wrap">
  <span class="prefix">₩</span>
  <input class="input" />
  <span class="suffix">/월</span>
</div>
Textarea · Select
다중 행 · 네이티브 셀렉트Multiline & native select
셀렉트는 모바일 호환 위해 네이티브 사용. 선택지 6 개 초과 시 Combobox/검색형으로 전환.
제출 시 컴플라이언스 엔진이 자동 검사합니다
<textarea class="input"
          rows="3">...</textarea>

<select class="input select">
  <option>수도권</option>
</select>
Number stepper
수량 입력Quantity
±버튼이 있는 수량 인풋. 샘플 개수·수량처럼 정수만 받는 곳에. 자유 입력 가능한 키보드도 항상 작동.
월 한도 20개 중 12개 사용 예정
<div class="stepper">
  <button>−</button>
  <input value="12" />
  <button>+</button>
</div>
Combobox · Autocomplete
검색형 셀렉트Searchable select
선택지가 많거나 검색이 필요한 경우. 활성 항목은 accent-wash 배경. 일치하는 부분은 <mark> 로 강조.
서울아산병원서울 · 종합
서울아이병원서울 · 소아
서울아름다운치과서울 · 의원
국립서울아동병원서울 · 종합
<div class="combo">
  <div class="combo-input">
    <input /> <span>▾</span>
  </div>
  <div class="combo-list">...</div>
</div>
Tag input
다중 값 입력Multi-value
엔터/콤마로 태그 추가, 백스페이스로 삭제. 약품·키워드·수신자 같은 다중 값에 사용.
처방 유도 × 한도 초과 × 금전 제공 × 접대 ×
현재 4개 · 최대 20개까지 등록 가능
박지훈 매니저 × [email protected] ×
<div class="taginput">
  <span class="chip">처방 유도
    <span class="x">×</span>
  </span>
  <input />
</div>
Date picker
달력 인풋Calendar input
날짜 선택은 항상 달력 + 키보드 직접 입력 둘 다 지원. 오늘은 accent 텍스트, 선택된 날은 accent 배경, 범위는 accent-wash.
선택됨 Selected
선택 안 됨 Empty
날짜를 선택하세요
범위 선택됨 Range selected
2026년 1월
29
30
31
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
1
2026-01-19 ~ 22
선택 안 됨 No selection
2026년 1월
29
30
31
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
1
선택된 날짜 없음
Time & mobile
시간 선택 · 모바일Time picker & mobile
시간은 시·분 휠 또는 직접 입력. 모바일은 전체폭 달력/시간을 상단 앱바 + 하단 확정으로.
시간 입력 Time input
시간 선택 휠 Time wheel
오전·오후
오전
오후
12
1
2
3
4
5
6
00
15
30
45
모바일 · 달력 Mobile calendar
날짜 선택
2026년 1월
29
30
31
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
1
2026-01-22
모바일 · 시간 Mobile time
시간 선택
오전·오후
오전
오후
1
2
3
4
5
00
15
30
45
<div class="timepick">
  <div class="tp-col">
    <div class="tp-colhead">시</div>
    <div class="tp-list">
      <div class="tp-opt is-selected">2</div>
    </div>
  </div>
</div>

<!-- 모바일: phone-frame + appbar + .datepick.is-full / .timepick.is-full -->
File upload
드롭존 + 파일 행Dropzone + file row
드래그&드롭과 클릭 둘 다 지원. 진행 중인 파일은 별도 행으로, 진행률·삭제 표시.
파일을 끌어다 놓으세요 Drop files here
또는 파일 찾아보기 · 최대 25 MB
PDF · DOCX · XLSX · PNG · JPG
PDF
방문 보고서_2026Q1.pdf
2.4 MB · 12 페이지
완료
XLSX
샘플 출고 내역.xlsx
680 KB · 업로드 중...
×
JPG
screenshot.jpg
28 MB · 최대 크기 초과
<div class="dropzone">
  <div class="ic-up">↑</div>
  <div class="ttl">파일 드롭</div>
  <div class="sub">...</div>
</div>
04

선택 Selection

check · radio · switch · slider · segmented
Check & Radio
다중·단일 선택Multi vs single
체크박스는 독립 옵션, 라디오는 상호 배타. 상위 선택의 부분 상태는 indeterminate 로.
Checkbox
Radio
Switch · Inline
실시간 컴플라이언스 검사
주말 알림
SSO 강제 (잠김)
<label class="check">
  <input type="checkbox" />
  <span class="box"></span>
  옵션
</label>

<span class="switch">
  <input type="checkbox" checked />
  <span class="track"></span>
</span>
Slider & Segmented
연속·이산 선택Continuous vs discrete
슬라이더는 즉시 미리보기 가능한 수치 (밀도·임계값). 세그먼티드는 2–5개 옵션의 즉시 전환.
컴플라이언스
민감도
68 경고 임계
월 한도
(₩만)
240
<input type="range"
       class="slider"
       min="0" max="100" />

<div class="segmented">
  <button class="is-active">목록</button>
  <button>카드</button>
</div>
05

피드백 Feedback

banner · toast · tooltip · progress · ring · spinner · skeleton · accordion · empty
Banner
인라인 알림 4톤Inline alerts
info · ok · warn · error 톤 4개. 페이지/섹션 상단 인라인 알림에 사용. 자동 사라지지 않음.
<div class="banner tone-error">
  <div class="ic">✕</div>
  <div>
    <div class="ttl">제목</div>
    <div class="desc">설명</div>
  </div>
</div>
Toast & Tooltip
일시 알림 · 보조 설명Transient · helper
토스트는 2–4초 자동 dismiss. 우측 하단 고정. 툴팁은 200ms delay, kbd 단축키와 결합 가능.
저장됨 · 2 초 후 자동 닫힘
×
제출하기 21 CFR Part 11 — 전자 서명 규정
<div class="toast">
  <div class="ic">✓</div>
  <div class="ttl">저장됨</div>
  <span class="x">×</span>
</div>

<span class="tooltip-host">
  <button>...</button>
  <span class="tip">설명</span>
</span>
Progress · Skeleton
진행률 · 로딩Progress · loading
결정적 진행률은 bar/ring, 불확정 로딩은 spinner/skeleton. 로딩 화면은 최소 200ms 표시 후 노출.
--thin · 30%
default · 64%
warn · 82%
danger · 96%
25
ring
64
92
spinner
Skeleton
<div class="progress">
  <div class="bar"
       style="width:64%;"></div>
</div>

<div class="ring"
     style="--pct:64">
  <span>64</span>
</div>
Accordion · Empty
아코디언 · 빈 상태Disclosure · empty
아코디언은 FAQ·필터 그룹·세부 정보 토글. 빈 상태는 데이터가 없을 때 무엇을 해야 하는지 명확한 액션 1개와 함께.
이 노트는 어떻게 검사되나요? 5 단계
제출 시 ① 키워드 매칭 ② 의미 분석 ③ 한도 검사 ④ 수신자 검증 ⑤ 첨부 무결성 검사를 순서대로 수행합니다. 각 단계는 평균 80ms 이내, 전체 400ms 미만에 완료됩니다.
검출된 위반은 어떻게 수정하나요? 3 분
매니저 승인 흐름은 어떻게 동작하나요? 2 분
외부 감사 시 어떤 로그가 남나요? 21 CFR Part 11
아직 제출된 노트가 없습니다
새 콜 노트를 작성하면 컴플라이언스 검사 결과가 이 곳에 표시됩니다.
<div class="acc">
  <div class="acc-item is-open">
    <div class="acc-head">...</div>
    <div class="acc-body">...</div>
  </div>
</div>

<div class="empty">
  ... 빈 상태
</div>
07

데이터 Data

badge · chip · avatar · table · card · thumbnail card · thumbnail list · charts (6)
Badge · Chip · Avatar
상태·태그·사람Status · tag · person
badge 는 상태값(읽기 전용), chip 은 사용자가 추가/제거하는 태그.
기본 승인 검토 중 경고 차단 LIVE 한도 80% 위반 v3.2
수도권 × 대면 방문 × 샘플 ≥ 5개 × 최근 7일 ×
KM JK HS YP +8
팀 12명 · 영남 권역 JT M H S
<span class="badge tone-warn">
  <span class="dot"></span>경고
</span>

<span class="avatar">KM
  <span class="status"></span>
</span>
Table
데이터 테이블Data table
수치는 tabular-nums + 우측 정렬. 헤더는 sticky. 행 hover 는 accent-wash. 행 액션은 호버 시 노출.
ID 담당자 지역 상태 한도 사용 제출 시각
JT-2412-0381김민수 · KM수도권승인₩2,400,000₩1,920,0002 분 전
JT-2412-0379박지훈 · JP영남한도 80%₩1,800,000₩1,440,00014 분 전
JT-2412-0378이서연 · LS호남차단₩2,400,000₩2,400,00026 분 전
JT-2412-0377정하나 · JH수도권검토 중₩1,200,000₩ 840,00041 분 전
JT-2412-0376최영재 · CY충청승인₩1,800,000₩ 720,0001 시간 전
JT-2412-0375한선우 · HS강원·제주임시저장₩1,800,0002 시간 전
218 개 중 1–6 표시
Card surfaces
서피스 3종3 surfaces
기본 / 강조 / 다크. KPI · 요약 · 액션 카드에 사용. 그림자는 elev-1 까지만.
월 제출 건수
+18%
1,842
목표 2,550 · 72%
컴플라이언스 점수
실시간
98.4 / 100
전월 96.2 → 이번달 98.4
PRO · 기업 라이선스
활성
120 시트 / 활성 사용자 87
갱신: 2026-09-30
<div class="card-block">
  ... KPI 또는 요약 컨텐츠
</div>

<div class="card-block"
     style="border-left: 3px solid var(--accent);">
  ... 강조 카드
</div>
★ Thumbnail card view
썸네일 카드뷰Cards with thumbnail
자료 라이브러리·갤러리·콘텐츠 카탈로그. 호버 시 빠른 액션 노출. 상단 hero 카드는 추천 자료 1개만, 그 아래 그리드. 보기 전환 toolbar 포함.
총 10 건
00 · 추천 자료
심방세동 위험계층화 인터랙티브 자료
CHA₂DS₂-VASc 점수 계산기 · ECG 패턴 비교 · 임상 데이터 — 한 ZIP 안에서.
HTML5(ZIP) 2026 / 05 / 23 → 9999 / 12 / 31 MLR-202605-0070
RHYTHMGUARD · CLM SAMPLE
심방세동 위험계층화
CHA₂DS₂-VASc 점수 · ECG 패턴 · 임상 데이터
6 segments postMessage Sample
01 최근 추가 · 10
★ Thumbnail list view
썸네일 리스트뷰List with thumbnail
조밀한 리스트. 행마다 썸네일 + 태그 + 제목 + 코드 + 상태. 다중 선택 시 상단 배치 액션바 등장. 호버 시 우측 행 액션.
총 10 건
2 개 선택됨 / 10 건 중
HTML5 (ZIP)
심방세동 위험계층화 인터랙티브 자료
2026-05-23 → 9999-12-31 MLR-202605-0070 24 MB · v3 김민수
활성
HTML5 (ZIP)
CHA₂DS₂-VASc 점수 계산 데모
2026-05-23 → 9999-12-31 MLR-202605-0069 18 MB · v2 박지훈
활성
PDF
2026 Q1 임상 가이드라인 요약
2026-05-21 → 9999-12-31 MLR-202605-0068 4.2 MB · v1 이서연
검토중
HTML5 (ZIP)
ECG 패턴 비교 인터랙티브
2026-05-19 → 9999-12-31 MLR-202605-0067 32 MB · v3 정하나
v3.2
Video
제품 트레이닝 영상 — 신규 담당자용
2026-05-14 → 9999-12-31 MLR-202605-0061 14:32 · 240 MB 박지훈
보관
HTML5 (ZIP)
CLM / Chat 샘플 6
2026-05-19 → 9999-12-31 MLR-202605-0064 2.8 MB · v1 최영재
활성
★ Charts
차트 6종6 chart types
막대 · 가로막대 · 도넛 · 스파크라인 · 스택바 · 히트맵. 모두 CSS/SVG 로 렌더 — 외부 라이브러리 없음. 색은 accent/warn/danger 톤만.
월간 제출 Submissions / month
최근 12개월 · 218 건
218
▲ 18%
020304050607080910111201
안전 경고 위반
지역별 활동 By region
2026-01 · TOP 5
87
담당 87명
수도권
62
영남
46
충청
35
호남
26
강원·제주
15
컴플라이언스 분포 Status mix
218 건 기준
98.4
점수
100%
218 건
승인 · OK 140 (64%)
경고 · Warn 48 (22%)
차단 · Block 30 (14%)
컴플라이언스 점수 추이 Score trend
최근 14일
98.4
▲ 2.2 pts
98.4
▲ 2.2
담당자별 분포 By rep
상위 4명
12
활성 4명 · 대기 8
김민수62건
박지훈46건
이서연35건
정하나26건
승인 경고 차단
주간 활동 히트맵 Weekly heatmap
시간대 × 요일
14:00
피크 시간
09
11
13
15
17
19
08

패턴 Patterns

profile tabs · compliance input · command palette · modal · 새로운 시도
★ Pattern · Profile tabs
의사 프로파일 · 탭Doctor profile with tabs
고객(의사) 상세. 히어로(아바타·등급·태그·액션) + 4 KPI + 탭 컨트롤(개요·콜 이력·콘텐츠·컴플라이언스). 탭은 클릭 전환, 활성은 accent 언더라인 + 카운트 배지.
A
강준서 신장내과 · 과장
[BL] 한양대학교병원·서울 성동구·MLR ID 0381
진행률 17% · 임박 처방 영향력 高 최근 콜 14일 전
분기 콜
1 / 6
YTD 콜
14
콘텐츠 열람
8
컴플라이언스
100%
전문 분야신장내과 · 투석
등급A · 우선 타깃
소속한양대학교병원 본원
주요 처방항응고제 · 이뇨제
선호 채널대면 방문 · 오전
다음 콜 권장2026-06-10
대면 디테일링 · 항응고제 신규 데이터
임상 데이터 공유 · 샘플 6개 전달 · 자동 검사 통과
05-23
전화 콜 · 후속 안내
심포지엄 자료 송부 약속
05-09
!
콜 메모 반려 → 재제출
처방 유도 표현 검출, 수정 후 승인
04-28
심포지엄 후속 방문
참석 확인 · 추가 자료 요청 접수
04-14
심방세동 위험계층화 인터랙티브
MLR-202605-0070 · 열람 완료 · 4분 32초
05-23
CHA₂DS₂-VASc 점수 계산 데모
MLR-202605-0069 · 열람 완료
05-23
2026 Q1 임상 가이드라인 요약
MLR-202605-0068 · 송부됨 · 미열람
05-21
마케팅 동의유효 · 2027-01 만료
샘플 한도₩1,800,000 / 월
최근 검사12/12 통과
감사 추적21 CFR Part 11 · 보관
투석 환자 증가 추세 언급
신규 항응고제에 관심. 다음 분기 처방 검토 의향.
05-23
오전 방문 선호
외래 일정상 화·목 오전이 최적.
04-14
★ Pattern · Compliance Input
실시간 컴플라이언스 인풋Live compliance input
홈페이지의 SYS·02 데모를 컴포넌트화. 입력 중 위험 표현을 인라인 하이라이트 + 하단 사유 스트립.

아래 세그먼티드로 상태 전환을 확인해보세요.
콜 노트 #JT-2412-0381 120 / 280 · v3.2 · 자동 검사 ON
부산 ○○병원, 김원장 방문. 임상 데이터 공유 후 반드시 처방하시도록 안내했습니다. 다음 주 샘플 12개 재배송 검토.
!
처방 유도 표현 1건 · 「반드시 처방하시도록」 — KPBMA 가이드 §3.2 / 21 CFR Part 11
→ 매니저 승인 필요
부산 ○○병원, 김원장 방문. 임상 데이터 공유. 다음 주 샘플 28개 재배송 검토.
!
한도 초과 가능성 · 샘플 28개 — 월 한도(20개) 대비 140%
→ 사전 승인 필요
부산 ○○병원, 김원장 방문. 임상 데이터 공유. 의사 요청에 따라 다음 주 샘플 12개 재배송 예정.
안전 — 제출 가능 · 표현 적정 · 한도 내 · 자동 검사 12 항목 통과
→ 바로 제출
★ Pattern · Command-K
명령어 팔레트Command palette
⌘K 또는 우상단 검색. 데이터·페이지·액션을 한 곳에서. 그룹 라벨은 mono. 첫 결과는 항상 활성 상태.
esc
제출 · 노트 · 활동
JT-2412-0381 · 김민수 · 수도권2 분 전
JT-2412-0379 · 박지훈 · 영남14 분 전
JT-2412-0378 · 이서연 · 호남 (차단)26 분 전
페이지
컴플라이언스 대시보드G · D
월간 한도 설정G · L
팀 활동 타임라인G · T
액션
+새 콜 노트 작성⌘ · N
월간 리포트 내보내기 (.xlsx)
×임시저장 비우기⌘ · ⌫
이동 · 실행 v1.0 · J Tech
Pattern · Modal
확인 다이얼로그Confirm dialog
최대 460px. 한 문장 + 한 액션. 위험 작업은 본문에 결과 명시 (`되돌릴 수 없습니다`).
09

반응형 Responsive

desktop ↔ mobile · 동일 컴포넌트, 16 mobile screens
Breakpoints
3 단계 브레이크포인트3 breakpoints
동일한 컴포넌트와 토큰. 폭에 따라 그리드·여백·라벨 위치만 재구성. 모바일에선 액션을 sticky 하단으로 모음.
Mobile
≤ 600 px
1 컬럼 · 하단 탭 · sticky CTA
Tablet
601 – 980 px
2 컬럼 · 상단 탭 · 컴팩트 카드
Desktop
≥ 981 px
사이드바 · 3 컬럼 그리드 · 인라인 액션
★ Mobile showcase · 16 screens
모바일 16개 화면16 mobile screens
메인 메뉴 · 작성 · 피드 · 검색 · 알림 · 설정 · 상세 · 대시보드 · 승인 큐 · 로그인 · 필터 시트 · 확인 모달 · 통계 · 리포트 · 자료 카드뷰 · 자료 리스트뷰. 하단 탭, 차트, 시트·모달 오버레이.
9:41 5G●●●
JK
메인 메뉴
컴플라이언스
실시간 검사 · 3 알림
활동 노트
218 건 · 12 대기
리포트
월간 KPI · 4 템플릿
87 명 · 활성
01 · 메인 메뉴Main menu
9:41 5G●●●
새 노트
안전 · 자동 검사 12/12 통과
02 · 노트 작성Write note · compliance live
9:41 5G●●●
활동
JT-2412-0381 승인
서울아산병원 · 김원장 방문. 임상 데이터 공유.
김민수 · 2 분 전
JT-2412-0379 한도 80%
부산백병원 · 박과장 심포지엄. 참석 24명, 자료 배포.
박지훈 · 14 분 전
JT-2412-0378 차단
전남대병원. 처방 유도 표현 검출.
이서연 · 26 분 전
JT-2412-0377 검토
강남세브란스 · 전임상 자료 공유.
정하나 · 41 분 전
03 · 활동 피드Feed with filters
9:41 5G●●●
검색
제출 · 노트
JT
서울아산병원 — 김원장
JT-2412-0381 · 2분 전
승인
JT
서울아이병원 — 이원장
JT-2412-0356 · 어제
검토
페이지 · 액션
새 콜 노트 작성
⌘ · N
월간 리포트 내보내기
.xlsx · 2026-01
04 · 검색Search · cmd-K
9:41 5G●●●
알림
3
오늘
어제
박지훈 매니저가 승인했습니다
JT-2412-0379 · 14 시간 전
2025-12 월간 리포트 준비됨
.xlsx · 다운로드
05 · 알림Notifications · grouped
9:41 5G●●●
설정
JK
정희종 · CEO
알림 채널 3 활성
컴플라이언스 ON
실시간 검사
매니저 자동 알림
주말 검사 일시정지
보안 · SSO MFA
06 · 설정Profile & settings
9:41 5G●●●
활동 상세
JT-2412-0381 승인
서울아산병원 · 김원장 방문
김민수·수도권·2분 전
부산 ○○병원 방문. 임상 데이터 공유 후 의사 요청에 따라 다음 주 샘플 12개 재배송 예정. 추가 자료는 이메일로 전달.
자동 검사 12/12 통과
v3.2 · 280ms
활동 기록
검사 통과 · 자동 제출
14:02:18
초안 작성
13:58:42
07 · 활동 상세Detail · history
9:41 5G●●●
컴플라이언스
점수
98.4
▲ 2.2
제출
218
▲ 18%
차단
3
▲ 1
한도 사용
82%
▼ 한도 ↑
최근 14일
위반 트렌드
!
처방 유도 표현
1건 · 차단됨
3
!
한도 초과 임박
2건 · 사전 승인 필요
7
08 · 대시보드Compliance KPIs
9:41 5G●●●
승인 큐
4
대기 중 · 4건
JT-2412-0383 · 박지훈
월 한도 90% 초과 — 부산 △△병원 샘플 18개 신규 요청
JT-2412-0382 · 이서연
심포지엄 참석자 32명, 자료 배포 안내
JT-2412-0380 · 정하나
강남세브란스 · 전임상 데이터 추가 요청
JT-2412-0376 · 최영재
정기 방문 · 통상 범위 · 자동 검사 통과
// 좌측 스와이프: 승인 · 우측 스와이프: 반려
// 또는 우측 버튼으로 직접
09 · 승인 큐Manager · approve / reject
9:41 5G●●●
10 · 로그인Auth + SSO
9:41 5G●●●
활동
승인 × 검토 × 수도권 × 영남 ×
JT-2412-0381승인
서울아산병원 · 김원장 방문. 임상 데이터 공유.
김민수 · 2 분 전
JT-2412-0379한도 80%
부산백병원 · 박과장 심포지엄.
필터 초기화
상태
전체 승인 검토 차단 임시
지역
수도권 충청 호남 영남 강원·제주
기간
11 · 필터 시트Bottom-sheet filter
9:41 5G●●●
활동 상세
JT-2412-0381승인
서울아산병원 · 김원장 방문
김민수·수도권
부산 ○○병원 방문. 임상 데이터 공유 후 의사 요청에 따라 다음 주 샘플 12개 재배송 예정.
자동 검사 12/12 통과
제출을 취소할까요?
이 노트는 임시저장으로 돌아갑니다. 자동 검사 결과는 60분 동안 유지됩니다.
12 · 확인 모달Destructive confirm
9:41 5G●●●
통계
제출 추이 · 12개월
분포
218
승인140
경고48
차단30
지역 · TOP 3
수도권
62
영남
46
충청
35
13 · 통계Stats · charts
9:41 5G●●●
월간 리포트
REPORT · 2025-12
컴플라이언스 월간 요약
12월 1일 — 31일 · 218 건
점수
98.4
▲ 2.2
제출
218
▲ 18%
점수 추이
담당자 분포 · TOP 4
김민수62
박지훈46
이서연35
14 · 리포트Monthly report · charts
9:41 5G●●●
자료
10 건
HTML5 (ZIP)
심방세동 위험계층화 인터랙티브 자료
v3 · 24 MB MLR-0070
활성
HTML5 (ZIP)
ECG 패턴 비교 인터랙티브
v3 · 32 MB MLR-0067
활성
PDF
2026 Q1 임상 가이드라인 요약
v1 · 4.2 MB MLR-0068
검토
HTML5 (ZIP)
제품 비교 데모 — 검수 보류
v1 · 12 MB MLR-0066
차단
VIDEO
제품 트레이닝 영상 — 신규 담당자용
14:32 · 240 MB MLR-0061
활성
HTML5 (ZIP)
CLM 엔진 v3.2 업데이트 노트
v3.2 · 1.4 MB MLR-0058
v3.2
16 · 자료 리스트뷰Thumbnail list view
// 모바일 패턴 요약
// 상단: 뒤로/타이틀/액션 3 슬롯 — 항상 동일 위치
// 하단 탭: 4개 고정 (홈 · 활동 · 검색 · 나) — accent 색으로 현재 위치 표시
// 인풋·버튼 최소 hit-target 44 px 보장 · 폼은 1 컬럼, sticky 하단 제출
// 컴플라이언스 스트립은 압축형 — 아이콘 + 한 줄 결과