Iconography · 24 Core Icons · Voice-State Matrix
NHID-Clinical Icon System
A hexagon-framed icon pack for AI voice-agent identity disclosure & authorization — built to read clearly across patient apps, clinical dashboards, and printed disclosure documents.
Every icon shares an identical pointy-top hexagon frame (navy / teal / slate stroke rotation) around a consistent ~4.4px line-art glyph. Source assets: /assets/icons/nhid-icons.svg (sprite) and /assets/icons/nhid-icons.css (states). Usage:
<svg class="nhid-icon nhid-icon--navy"> <use href="/assets/icons/nhid-icons.svg#nhid-hex-frame"/> <use href="/assets/icons/nhid-icons.svg#nhid-hex-frame-inner"/> <use href="/assets/icons/nhid-icons.svg#nhid-icon-accept-consent"/> </svg>
Add .nhid-icon--navy / --teal / --slate for the frame theme, and .is-active / .is-loading / .is-disabled for interaction state. Wrap in .nhid-icon-card for the card hover treatment shown below. All animated states fall back to a static end-state under prefers-reduced-motion.
Consent & Authorization
Voice Interaction
AI Identity & Disclosure
Clinical Escalation & Handoff
Security & Access
Communication & Records
Voice Interaction — State Variations
Each voice state ships an active / inactive pair plus success, warning, and error statuses. The frame stroke and glyph accent carry the status; a corner badge confirms success, warning, or error.
| Active | Inactive | Success | Warning | Error |
|---|
Interaction States
Tone is professional, calm, and reassuring. The hexagon frame is the primary signal layer — internal glyphs do not move on hover.
| State | Behavior | Timing |
|---|---|---|
:hover | Frame stroke brightens, soft teal glow, card lifts 2px. | 220ms standard ease |
.is-active | Frame shifts toward cyan/teal; icon blooms to 1.06× then settles. | 340ms decel ease |
.is-pending-auth | Frame stroke breathes (opacity 1 → .55 → 1) while authorization is outstanding. | 1800ms loop |
.is-loading | Frame stroke and glyph breathe slowly; no fast spinner. | 2000ms linear loop |
.is-disabled | Desaturated, 40% opacity, no animation, not-allowed cursor. | static |
All loops, glows, and the active-state bloom fall back to a static end-state under prefers-reduced-motion: reduce — the disclosed information never depends on motion.