.flex { display: flex; gap: var(--space-3); align-items: center; }
.flex-col { flex-direction: column; align-items: stretch; }
.justify-between { justify-content: space-between; }
.text-muted { color: var(--color-muted); }
.text-sm { font-size: 0.875rem; }
.text-xs { font-size: 0.75rem; }
.rounded { border-radius: var(--radius-md); }
.shadow { box-shadow: var(--shadow-card); }
.border { border: 1px solid var(--color-border); }
.bg-white { background: var(--color-white); }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.badge { display: inline-block; padding: 0.125rem 0.5rem; border-radius: var(--radius-pill); font-size: 0.75rem; font-weight: 600; text-transform: capitalize; }
.badge-success { background: #dcfce7; color: #166534; }
.badge-danger { background: #fee2e2; color: #991b1b; }
.badge-warning { background: #fef3c7; color: #92400e; }
.badge-info { background: #dbeafe; color: #1e40af; }
.toast-host { position: fixed; right: var(--space-4); bottom: var(--space-4); display: flex; flex-direction: column; gap: var(--space-2); z-index: 9999; max-width: min(360px, 90vw); }
.toast { background: var(--color-ink); color: var(--color-white); padding: var(--space-3) var(--space-4); border-radius: var(--radius-md); box-shadow: var(--shadow-popover); font-size: 0.9rem; opacity: 0; transform: translateY(8px); transition: opacity var(--motion-base) ease, transform var(--motion-base) ease; }
.toast-in { opacity: 1; transform: none; }
.toast-success { background: var(--color-success); }
.toast-danger { background: var(--color-danger); }
.toast-warning { background: var(--color-warning); }
.stat-value { font-size: 2rem; font-weight: 800; }
.mt-4 { margin-top: var(--space-4); }
.mt-6 { margin-top: var(--space-6); }
