01

Tokens

--color-* variables
primary
#0F172A
secondary
#1E293B
accent
#22C55E
bg
#020617
fg
#F8FAFC
border
#334155
destruct
#EF4444
warning
#F59E0B
// SPACING (4px base)
xs
4px
sm
8px
md
16px
lg
24px
xl
32px
// TYPE SCALE (Fira Sans / Fira Code)
h1Data Siswa
h2Statistik
bodyKonten paragraf normal.
mono--color-accent: #22C55E
captiontext-muted: #64748B
02

Buttons

32px / flat / green accent
03

Form Inputs

dark / mono labels
Sesuai akta
Email tidak valid
Ctrl+K
0 / 200
Notifikasi
04

KPI Cards

left accent / mono values
Siswa Aktif
342
+3.5%
Surat Terbit
28
+12%
Pending
7
-2
05

Data Table

row highlight on hover
NISNamaKelasStatus
242507024Anisa Putri9CMutasi
242507001Budi Santoso7AAktif
242507055Citra Dewi8BAktif
242507089Dimas P.9ALulus
06

Modal

slide-down 0.15s
07

Badges & Alerts

mono / semantic
DefaultSuccessWarningDanger
Info: Tahun ajaran 15 Juli 2026.
OK: Data siswa diimpor.
Warning: 3 siswa belum ada NISN.
Error: Koneksi database timeout.
08

Tabs

segmented / mono
09

Progress

flat 6px
impor_data — 68%
sync — 100%
storage — 85%
10

Accordion

flat bordered
Bagaimana cara menambah siswa?
Buka menu Siswa, klik "+ Tambah Siswa", isi formulir, simpan.
Cara mencetak surat?
Buka menu Persuratan, pilih jenis surat, isi data, klik "Cetak".
Cara reset password?
Hubungi admin TU untuk reset password akun portal.
11

Toast

accent left bar
Berhasil. Surat B/027 dicatat.
12

Empty State

dashed border

Belum ada surat

Belum ada surat yang terbit bulan ini.

13

Skeleton

data loading spinner
🎨