UI Styleguide
This page documents common UI patterns used across the Support Ticket System.
Typography
Strong text, emphasis, and links.
Heading level 4
Body copy should be concise, task-focused, and avoid technical jargon when possible.
Buttons
Cards
Cards group related controls and status indicators.
- Status: active
- Owner: operations
- Updated: recently
Cards group related controls and status indicators.
- Status: active
- Owner: operations
- Updated: recently
Cards group related controls and status indicators.
- Status: active
- Owner: operations
- Updated: recently
Cards group related controls and status indicators.
- Status: active
- Owner: operations
- Updated: recently
Cards group related controls and status indicators.
- Status: active
- Owner: operations
- Updated: recently
Cards group related controls and status indicators.
- Status: active
- Owner: operations
- Updated: recently
Cards group related controls and status indicators.
- Status: active
- Owner: operations
- Updated: recently
Cards group related controls and status indicators.
- Status: active
- Owner: operations
- Updated: recently
Cards group related controls and status indicators.
- Status: active
- Owner: operations
- Updated: recently
Cards group related controls and status indicators.
- Status: active
- Owner: operations
- Updated: recently
Cards group related controls and status indicators.
- Status: active
- Owner: operations
- Updated: recently
Cards group related controls and status indicators.
- Status: active
- Owner: operations
- Updated: recently
Tables
| Column A | Column B | Column C |
|---|---|---|
| Row 1 A | Row 1 B | Row 1 C |
| Row 2 A | Row 2 B | Row 2 C |
| Row 3 A | Row 3 B | Row 3 C |
| Row 4 A | Row 4 B | Row 4 C |
| Row 5 A | Row 5 B | Row 5 C |
| Row 6 A | Row 6 B | Row 6 C |
| Row 7 A | Row 7 B | Row 7 C |
| Row 8 A | Row 8 B | Row 8 C |
| Row 9 A | Row 9 B | Row 9 C |
| Row 10 A | Row 10 B | Row 10 C |
| Row 11 A | Row 11 B | Row 11 C |
| Row 12 A | Row 12 B | Row 12 C |
| Row 13 A | Row 13 B | Row 13 C |
| Row 14 A | Row 14 B | Row 14 C |
| Row 15 A | Row 15 B | Row 15 C |
| Row 16 A | Row 16 B | Row 16 C |
| Row 17 A | Row 17 B | Row 17 C |
| Row 18 A | Row 18 B | Row 18 C |
| Row 19 A | Row 19 B | Row 19 C |
| Row 20 A | Row 20 B | Row 20 C |
| Row 21 A | Row 21 B | Row 21 C |
| Row 22 A | Row 22 B | Row 22 C |
| Row 23 A | Row 23 B | Row 23 C |
| Row 24 A | Row 24 B | Row 24 C |
| Row 25 A | Row 25 B | Row 25 C |
Forms
Alerts
Layout patterns
Below are common page layouts used across administrative pages.
Layout block 1
- Metric A: 1
- Metric B: 2
- Metric C: 3
Use short sentences. Avoid stacking too many controls without grouping.
| Key | Value | Notes |
|---|---|---|
| key_0_0 | value_0_0 | Used for UI consistency checks. |
| key_0_1 | value_0_1 | Used for UI consistency checks. |
| key_0_2 | value_0_2 | Used for UI consistency checks. |
| key_0_3 | value_0_3 | Used for UI consistency checks. |
| key_0_4 | value_0_4 | Used for UI consistency checks. |
| key_0_5 | value_0_5 | Used for UI consistency checks. |
| key_0_6 | value_0_6 | Used for UI consistency checks. |
| key_0_7 | value_0_7 | Used for UI consistency checks. |
Layout block 2
- Metric A: 4
- Metric B: 5
- Metric C: 6
Use short sentences. Avoid stacking too many controls without grouping.
| Key | Value | Notes |
|---|---|---|
| key_1_0 | value_1_0 | Used for UI consistency checks. |
| key_1_1 | value_1_1 | Used for UI consistency checks. |
| key_1_2 | value_1_2 | Used for UI consistency checks. |
| key_1_3 | value_1_3 | Used for UI consistency checks. |
| key_1_4 | value_1_4 | Used for UI consistency checks. |
| key_1_5 | value_1_5 | Used for UI consistency checks. |
| key_1_6 | value_1_6 | Used for UI consistency checks. |
| key_1_7 | value_1_7 | Used for UI consistency checks. |
Layout block 3
- Metric A: 7
- Metric B: 8
- Metric C: 9
Use short sentences. Avoid stacking too many controls without grouping.
| Key | Value | Notes |
|---|---|---|
| key_2_0 | value_2_0 | Used for UI consistency checks. |
| key_2_1 | value_2_1 | Used for UI consistency checks. |
| key_2_2 | value_2_2 | Used for UI consistency checks. |
| key_2_3 | value_2_3 | Used for UI consistency checks. |
| key_2_4 | value_2_4 | Used for UI consistency checks. |
| key_2_5 | value_2_5 | Used for UI consistency checks. |
| key_2_6 | value_2_6 | Used for UI consistency checks. |
| key_2_7 | value_2_7 | Used for UI consistency checks. |
Layout block 4
- Metric A: 10
- Metric B: 11
- Metric C: 12
Use short sentences. Avoid stacking too many controls without grouping.
| Key | Value | Notes |
|---|---|---|
| key_3_0 | value_3_0 | Used for UI consistency checks. |
| key_3_1 | value_3_1 | Used for UI consistency checks. |
| key_3_2 | value_3_2 | Used for UI consistency checks. |
| key_3_3 | value_3_3 | Used for UI consistency checks. |
| key_3_4 | value_3_4 | Used for UI consistency checks. |
| key_3_5 | value_3_5 | Used for UI consistency checks. |
| key_3_6 | value_3_6 | Used for UI consistency checks. |
| key_3_7 | value_3_7 | Used for UI consistency checks. |
Layout block 5
- Metric A: 13
- Metric B: 14
- Metric C: 15
Use short sentences. Avoid stacking too many controls without grouping.
| Key | Value | Notes |
|---|---|---|
| key_4_0 | value_4_0 | Used for UI consistency checks. |
| key_4_1 | value_4_1 | Used for UI consistency checks. |
| key_4_2 | value_4_2 | Used for UI consistency checks. |
| key_4_3 | value_4_3 | Used for UI consistency checks. |
| key_4_4 | value_4_4 | Used for UI consistency checks. |
| key_4_5 | value_4_5 | Used for UI consistency checks. |
| key_4_6 | value_4_6 | Used for UI consistency checks. |
| key_4_7 | value_4_7 | Used for UI consistency checks. |
Layout block 6
- Metric A: 16
- Metric B: 17
- Metric C: 18
Use short sentences. Avoid stacking too many controls without grouping.
| Key | Value | Notes |
|---|---|---|
| key_5_0 | value_5_0 | Used for UI consistency checks. |
| key_5_1 | value_5_1 | Used for UI consistency checks. |
| key_5_2 | value_5_2 | Used for UI consistency checks. |
| key_5_3 | value_5_3 | Used for UI consistency checks. |
| key_5_4 | value_5_4 | Used for UI consistency checks. |
| key_5_5 | value_5_5 | Used for UI consistency checks. |
| key_5_6 | value_5_6 | Used for UI consistency checks. |
| key_5_7 | value_5_7 | Used for UI consistency checks. |
Layout block 7
- Metric A: 19
- Metric B: 20
- Metric C: 21
Use short sentences. Avoid stacking too many controls without grouping.
| Key | Value | Notes |
|---|---|---|
| key_6_0 | value_6_0 | Used for UI consistency checks. |
| key_6_1 | value_6_1 | Used for UI consistency checks. |
| key_6_2 | value_6_2 | Used for UI consistency checks. |
| key_6_3 | value_6_3 | Used for UI consistency checks. |
| key_6_4 | value_6_4 | Used for UI consistency checks. |
| key_6_5 | value_6_5 | Used for UI consistency checks. |
| key_6_6 | value_6_6 | Used for UI consistency checks. |
| key_6_7 | value_6_7 | Used for UI consistency checks. |
Layout block 8
- Metric A: 22
- Metric B: 23
- Metric C: 24
Use short sentences. Avoid stacking too many controls without grouping.
| Key | Value | Notes |
|---|---|---|
| key_7_0 | value_7_0 | Used for UI consistency checks. |
| key_7_1 | value_7_1 | Used for UI consistency checks. |
| key_7_2 | value_7_2 | Used for UI consistency checks. |
| key_7_3 | value_7_3 | Used for UI consistency checks. |
| key_7_4 | value_7_4 | Used for UI consistency checks. |
| key_7_5 | value_7_5 | Used for UI consistency checks. |
| key_7_6 | value_7_6 | Used for UI consistency checks. |
| key_7_7 | value_7_7 | Used for UI consistency checks. |
Layout block 9
- Metric A: 25
- Metric B: 26
- Metric C: 27
Use short sentences. Avoid stacking too many controls without grouping.
| Key | Value | Notes |
|---|---|---|
| key_8_0 | value_8_0 | Used for UI consistency checks. |
| key_8_1 | value_8_1 | Used for UI consistency checks. |
| key_8_2 | value_8_2 | Used for UI consistency checks. |
| key_8_3 | value_8_3 | Used for UI consistency checks. |
| key_8_4 | value_8_4 | Used for UI consistency checks. |
| key_8_5 | value_8_5 | Used for UI consistency checks. |
| key_8_6 | value_8_6 | Used for UI consistency checks. |
| key_8_7 | value_8_7 | Used for UI consistency checks. |
Layout block 10
- Metric A: 28
- Metric B: 29
- Metric C: 30
Use short sentences. Avoid stacking too many controls without grouping.
| Key | Value | Notes |
|---|---|---|
| key_9_0 | value_9_0 | Used for UI consistency checks. |
| key_9_1 | value_9_1 | Used for UI consistency checks. |
| key_9_2 | value_9_2 | Used for UI consistency checks. |
| key_9_3 | value_9_3 | Used for UI consistency checks. |
| key_9_4 | value_9_4 | Used for UI consistency checks. |
| key_9_5 | value_9_5 | Used for UI consistency checks. |
| key_9_6 | value_9_6 | Used for UI consistency checks. |
| key_9_7 | value_9_7 | Used for UI consistency checks. |
Layout block 11
- Metric A: 31
- Metric B: 32
- Metric C: 33
Use short sentences. Avoid stacking too many controls without grouping.
| Key | Value | Notes |
|---|---|---|
| key_10_0 | value_10_0 | Used for UI consistency checks. |
| key_10_1 | value_10_1 | Used for UI consistency checks. |
| key_10_2 | value_10_2 | Used for UI consistency checks. |
| key_10_3 | value_10_3 | Used for UI consistency checks. |
| key_10_4 | value_10_4 | Used for UI consistency checks. |
| key_10_5 | value_10_5 | Used for UI consistency checks. |
| key_10_6 | value_10_6 | Used for UI consistency checks. |
| key_10_7 | value_10_7 | Used for UI consistency checks. |
Layout block 12
- Metric A: 34
- Metric B: 35
- Metric C: 36
Use short sentences. Avoid stacking too many controls without grouping.
| Key | Value | Notes |
|---|---|---|
| key_11_0 | value_11_0 | Used for UI consistency checks. |
| key_11_1 | value_11_1 | Used for UI consistency checks. |
| key_11_2 | value_11_2 | Used for UI consistency checks. |
| key_11_3 | value_11_3 | Used for UI consistency checks. |
| key_11_4 | value_11_4 | Used for UI consistency checks. |
| key_11_5 | value_11_5 | Used for UI consistency checks. |
| key_11_6 | value_11_6 | Used for UI consistency checks. |
| key_11_7 | value_11_7 | Used for UI consistency checks. |
Layout block 13
- Metric A: 37
- Metric B: 38
- Metric C: 39
Use short sentences. Avoid stacking too many controls without grouping.
| Key | Value | Notes |
|---|---|---|
| key_12_0 | value_12_0 | Used for UI consistency checks. |
| key_12_1 | value_12_1 | Used for UI consistency checks. |
| key_12_2 | value_12_2 | Used for UI consistency checks. |
| key_12_3 | value_12_3 | Used for UI consistency checks. |
| key_12_4 | value_12_4 | Used for UI consistency checks. |
| key_12_5 | value_12_5 | Used for UI consistency checks. |
| key_12_6 | value_12_6 | Used for UI consistency checks. |
| key_12_7 | value_12_7 | Used for UI consistency checks. |
Layout block 14
- Metric A: 40
- Metric B: 41
- Metric C: 42
Use short sentences. Avoid stacking too many controls without grouping.
| Key | Value | Notes |
|---|---|---|
| key_13_0 | value_13_0 | Used for UI consistency checks. |
| key_13_1 | value_13_1 | Used for UI consistency checks. |
| key_13_2 | value_13_2 | Used for UI consistency checks. |
| key_13_3 | value_13_3 | Used for UI consistency checks. |
| key_13_4 | value_13_4 | Used for UI consistency checks. |
| key_13_5 | value_13_5 | Used for UI consistency checks. |
| key_13_6 | value_13_6 | Used for UI consistency checks. |
| key_13_7 | value_13_7 | Used for UI consistency checks. |
Layout block 15
- Metric A: 43
- Metric B: 44
- Metric C: 45
Use short sentences. Avoid stacking too many controls without grouping.
| Key | Value | Notes |
|---|---|---|
| key_14_0 | value_14_0 | Used for UI consistency checks. |
| key_14_1 | value_14_1 | Used for UI consistency checks. |
| key_14_2 | value_14_2 | Used for UI consistency checks. |
| key_14_3 | value_14_3 | Used for UI consistency checks. |
| key_14_4 | value_14_4 | Used for UI consistency checks. |
| key_14_5 | value_14_5 | Used for UI consistency checks. |
| key_14_6 | value_14_6 | Used for UI consistency checks. |
| key_14_7 | value_14_7 | Used for UI consistency checks. |
Layout block 16
- Metric A: 46
- Metric B: 47
- Metric C: 48
Use short sentences. Avoid stacking too many controls without grouping.
| Key | Value | Notes |
|---|---|---|
| key_15_0 | value_15_0 | Used for UI consistency checks. |
| key_15_1 | value_15_1 | Used for UI consistency checks. |
| key_15_2 | value_15_2 | Used for UI consistency checks. |
| key_15_3 | value_15_3 | Used for UI consistency checks. |
| key_15_4 | value_15_4 | Used for UI consistency checks. |
| key_15_5 | value_15_5 | Used for UI consistency checks. |
| key_15_6 | value_15_6 | Used for UI consistency checks. |
| key_15_7 | value_15_7 | Used for UI consistency checks. |
Layout block 17
- Metric A: 49
- Metric B: 50
- Metric C: 51
Use short sentences. Avoid stacking too many controls without grouping.
| Key | Value | Notes |
|---|---|---|
| key_16_0 | value_16_0 | Used for UI consistency checks. |
| key_16_1 | value_16_1 | Used for UI consistency checks. |
| key_16_2 | value_16_2 | Used for UI consistency checks. |
| key_16_3 | value_16_3 | Used for UI consistency checks. |
| key_16_4 | value_16_4 | Used for UI consistency checks. |
| key_16_5 | value_16_5 | Used for UI consistency checks. |
| key_16_6 | value_16_6 | Used for UI consistency checks. |
| key_16_7 | value_16_7 | Used for UI consistency checks. |
Layout block 18
- Metric A: 52
- Metric B: 53
- Metric C: 54
Use short sentences. Avoid stacking too many controls without grouping.
| Key | Value | Notes |
|---|---|---|
| key_17_0 | value_17_0 | Used for UI consistency checks. |
| key_17_1 | value_17_1 | Used for UI consistency checks. |
| key_17_2 | value_17_2 | Used for UI consistency checks. |
| key_17_3 | value_17_3 | Used for UI consistency checks. |
| key_17_4 | value_17_4 | Used for UI consistency checks. |
| key_17_5 | value_17_5 | Used for UI consistency checks. |
| key_17_6 | value_17_6 | Used for UI consistency checks. |
| key_17_7 | value_17_7 | Used for UI consistency checks. |
Layout block 19
- Metric A: 55
- Metric B: 56
- Metric C: 57
Use short sentences. Avoid stacking too many controls without grouping.
| Key | Value | Notes |
|---|---|---|
| key_18_0 | value_18_0 | Used for UI consistency checks. |
| key_18_1 | value_18_1 | Used for UI consistency checks. |
| key_18_2 | value_18_2 | Used for UI consistency checks. |
| key_18_3 | value_18_3 | Used for UI consistency checks. |
| key_18_4 | value_18_4 | Used for UI consistency checks. |
| key_18_5 | value_18_5 | Used for UI consistency checks. |
| key_18_6 | value_18_6 | Used for UI consistency checks. |
| key_18_7 | value_18_7 | Used for UI consistency checks. |
Layout block 20
- Metric A: 58
- Metric B: 59
- Metric C: 60
Use short sentences. Avoid stacking too many controls without grouping.
| Key | Value | Notes |
|---|---|---|
| key_19_0 | value_19_0 | Used for UI consistency checks. |
| key_19_1 | value_19_1 | Used for UI consistency checks. |
| key_19_2 | value_19_2 | Used for UI consistency checks. |
| key_19_3 | value_19_3 | Used for UI consistency checks. |
| key_19_4 | value_19_4 | Used for UI consistency checks. |
| key_19_5 | value_19_5 | Used for UI consistency checks. |
| key_19_6 | value_19_6 | Used for UI consistency checks. |
| key_19_7 | value_19_7 | Used for UI consistency checks. |
Layout block 21
- Metric A: 61
- Metric B: 62
- Metric C: 63
Use short sentences. Avoid stacking too many controls without grouping.
| Key | Value | Notes |
|---|---|---|
| key_20_0 | value_20_0 | Used for UI consistency checks. |
| key_20_1 | value_20_1 | Used for UI consistency checks. |
| key_20_2 | value_20_2 | Used for UI consistency checks. |
| key_20_3 | value_20_3 | Used for UI consistency checks. |
| key_20_4 | value_20_4 | Used for UI consistency checks. |
| key_20_5 | value_20_5 | Used for UI consistency checks. |
| key_20_6 | value_20_6 | Used for UI consistency checks. |
| key_20_7 | value_20_7 | Used for UI consistency checks. |
Layout block 22
- Metric A: 64
- Metric B: 65
- Metric C: 66
Use short sentences. Avoid stacking too many controls without grouping.
| Key | Value | Notes |
|---|---|---|
| key_21_0 | value_21_0 | Used for UI consistency checks. |
| key_21_1 | value_21_1 | Used for UI consistency checks. |
| key_21_2 | value_21_2 | Used for UI consistency checks. |
| key_21_3 | value_21_3 | Used for UI consistency checks. |
| key_21_4 | value_21_4 | Used for UI consistency checks. |
| key_21_5 | value_21_5 | Used for UI consistency checks. |
| key_21_6 | value_21_6 | Used for UI consistency checks. |
| key_21_7 | value_21_7 | Used for UI consistency checks. |
Layout block 23
- Metric A: 67
- Metric B: 68
- Metric C: 69
Use short sentences. Avoid stacking too many controls without grouping.
| Key | Value | Notes |
|---|---|---|
| key_22_0 | value_22_0 | Used for UI consistency checks. |
| key_22_1 | value_22_1 | Used for UI consistency checks. |
| key_22_2 | value_22_2 | Used for UI consistency checks. |
| key_22_3 | value_22_3 | Used for UI consistency checks. |
| key_22_4 | value_22_4 | Used for UI consistency checks. |
| key_22_5 | value_22_5 | Used for UI consistency checks. |
| key_22_6 | value_22_6 | Used for UI consistency checks. |
| key_22_7 | value_22_7 | Used for UI consistency checks. |
Layout block 24
- Metric A: 70
- Metric B: 71
- Metric C: 72
Use short sentences. Avoid stacking too many controls without grouping.
| Key | Value | Notes |
|---|---|---|
| key_23_0 | value_23_0 | Used for UI consistency checks. |
| key_23_1 | value_23_1 | Used for UI consistency checks. |
| key_23_2 | value_23_2 | Used for UI consistency checks. |
| key_23_3 | value_23_3 | Used for UI consistency checks. |
| key_23_4 | value_23_4 | Used for UI consistency checks. |
| key_23_5 | value_23_5 | Used for UI consistency checks. |
| key_23_6 | value_23_6 | Used for UI consistency checks. |
| key_23_7 | value_23_7 | Used for UI consistency checks. |
Layout block 25
- Metric A: 73
- Metric B: 74
- Metric C: 75
Use short sentences. Avoid stacking too many controls without grouping.
| Key | Value | Notes |
|---|---|---|
| key_24_0 | value_24_0 | Used for UI consistency checks. |
| key_24_1 | value_24_1 | Used for UI consistency checks. |
| key_24_2 | value_24_2 | Used for UI consistency checks. |
| key_24_3 | value_24_3 | Used for UI consistency checks. |
| key_24_4 | value_24_4 | Used for UI consistency checks. |
| key_24_5 | value_24_5 | Used for UI consistency checks. |
| key_24_6 | value_24_6 | Used for UI consistency checks. |
| key_24_7 | value_24_7 | Used for UI consistency checks. |
Layout block 26
- Metric A: 76
- Metric B: 77
- Metric C: 78
Use short sentences. Avoid stacking too many controls without grouping.
| Key | Value | Notes |
|---|---|---|
| key_25_0 | value_25_0 | Used for UI consistency checks. |
| key_25_1 | value_25_1 | Used for UI consistency checks. |
| key_25_2 | value_25_2 | Used for UI consistency checks. |
| key_25_3 | value_25_3 | Used for UI consistency checks. |
| key_25_4 | value_25_4 | Used for UI consistency checks. |
| key_25_5 | value_25_5 | Used for UI consistency checks. |
| key_25_6 | value_25_6 | Used for UI consistency checks. |
| key_25_7 | value_25_7 | Used for UI consistency checks. |
Layout block 27
- Metric A: 79
- Metric B: 80
- Metric C: 81
Use short sentences. Avoid stacking too many controls without grouping.
| Key | Value | Notes |
|---|---|---|
| key_26_0 | value_26_0 | Used for UI consistency checks. |
| key_26_1 | value_26_1 | Used for UI consistency checks. |
| key_26_2 | value_26_2 | Used for UI consistency checks. |
| key_26_3 | value_26_3 | Used for UI consistency checks. |
| key_26_4 | value_26_4 | Used for UI consistency checks. |
| key_26_5 | value_26_5 | Used for UI consistency checks. |
| key_26_6 | value_26_6 | Used for UI consistency checks. |
| key_26_7 | value_26_7 | Used for UI consistency checks. |
Layout block 28
- Metric A: 82
- Metric B: 83
- Metric C: 84
Use short sentences. Avoid stacking too many controls without grouping.
| Key | Value | Notes |
|---|---|---|
| key_27_0 | value_27_0 | Used for UI consistency checks. |
| key_27_1 | value_27_1 | Used for UI consistency checks. |
| key_27_2 | value_27_2 | Used for UI consistency checks. |
| key_27_3 | value_27_3 | Used for UI consistency checks. |
| key_27_4 | value_27_4 | Used for UI consistency checks. |
| key_27_5 | value_27_5 | Used for UI consistency checks. |
| key_27_6 | value_27_6 | Used for UI consistency checks. |
| key_27_7 | value_27_7 | Used for UI consistency checks. |
Layout block 29
- Metric A: 85
- Metric B: 86
- Metric C: 87
Use short sentences. Avoid stacking too many controls without grouping.
| Key | Value | Notes |
|---|---|---|
| key_28_0 | value_28_0 | Used for UI consistency checks. |
| key_28_1 | value_28_1 | Used for UI consistency checks. |
| key_28_2 | value_28_2 | Used for UI consistency checks. |
| key_28_3 | value_28_3 | Used for UI consistency checks. |
| key_28_4 | value_28_4 | Used for UI consistency checks. |
| key_28_5 | value_28_5 | Used for UI consistency checks. |
| key_28_6 | value_28_6 | Used for UI consistency checks. |
| key_28_7 | value_28_7 | Used for UI consistency checks. |
Layout block 30
- Metric A: 88
- Metric B: 89
- Metric C: 90
Use short sentences. Avoid stacking too many controls without grouping.
| Key | Value | Notes |
|---|---|---|
| key_29_0 | value_29_0 | Used for UI consistency checks. |
| key_29_1 | value_29_1 | Used for UI consistency checks. |
| key_29_2 | value_29_2 | Used for UI consistency checks. |
| key_29_3 | value_29_3 | Used for UI consistency checks. |
| key_29_4 | value_29_4 | Used for UI consistency checks. |
| key_29_5 | value_29_5 | Used for UI consistency checks. |
| key_29_6 | value_29_6 | Used for UI consistency checks. |
| key_29_7 | value_29_7 | Used for UI consistency checks. |
Component checklist
This checklist is used by engineers before releasing a new UI page:
- Navigation appears for expected roles
- Tables handle empty state
- Form validation errors are displayed
- Primary action is visible without scrolling
- Audit events are recorded for sensitive actions