/* STORY-151: consistent icon scale and alignment. */
.ff-icon{display:inline-block;flex:0 0 auto;width:1.125rem;height:1.125rem;vertical-align:-.2em;color:inherit}
.ff-icon[data-size="xs"]{width:.875rem;height:.875rem}.ff-icon[data-size="sm"]{width:1rem;height:1rem}.ff-icon[data-size="lg"]{width:1.375rem;height:1.375rem}
:where(button,a,.nav-link,.ff-action,.link-button,.tiny-button):has(>.ff-icon){display:inline-flex;align-items:center;justify-content:center;gap:var(--ff-space-2)}
.nav-link>.ff-icon{width:1.15rem;height:1.15rem;color:var(--ff-color-text-muted);transition:color var(--ff-duration-fast) var(--ff-easing-standard),transform var(--ff-duration-fast) var(--ff-easing-standard)}
.nav-link:hover>.ff-icon,.nav-link.active>.ff-icon{color:var(--ff-color-brand)}.nav-link.active>.ff-icon{transform:translateX(1px)}
.notification-button>.ff-icon{color:var(--ff-color-brand-strong)}.profile-chevron.ff-icon{width:1rem;height:1rem;padding:0}.modal-head .ff-icon{width:1.125rem;height:1.125rem}
.ff-progress__marker>.ff-icon{width:1rem;height:1rem}.validation-evidence .ff-icon{width:.875rem;height:.875rem}.decision-icon>.ff-icon{width:1rem;height:1rem}
/* STORY-152: fixed icon and label columns keep every destination on one left edge. */
.sidebar .nav-link:has(>.ff-icon){display:grid;grid-template-columns:1.25rem minmax(0,1fr);align-items:center;justify-content:stretch;column-gap:var(--ff-space-3);text-align:left}
.sidebar .nav-link>.ff-icon{justify-self:center}
@media(prefers-reduced-motion:reduce){.nav-link>.ff-icon{transition:none;transform:none!important}}
