/* One stroke weight and restrained color; all assets are served locally. */
.ui-icon {
    display: inline-block;
    width: 1.1em;
    height: 1.1em;
    flex: 0 0 auto;
    line-height: 1;
    vertical-align: -0.16em;
    font-style: normal;
    pointer-events: none;
}
.ui-icon::before { display: none !important; }
.ui-icon svg { display: block; width: 100%; height: 100%; }
.ui-icon.fa-spin { animation: ui-icon-spin 1s linear infinite; }
.btn .ui-icon, .nav-links .ui-icon { width: 1.125em; height: 1.125em; }
.card-subtitle .ui-icon { color: #64748b; }
.rating-stars .ui-icon { width: 0.9em; height: 0.9em; }
.modal-section h3 .ui-icon { color: #64748b; }
#adminBody .stat-icon {
    background: #f1f5f9 !important;
    color: #64748b !important;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    font-size: 1.25rem;
    box-shadow: none;
}
.nav-hamburger, #adminBody .hamburger {
    border-radius: 10px !important;
    box-shadow: none !important;
}
.nav-hamburger span { border-radius: 1px; }
@keyframes ui-icon-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .ui-icon.fa-spin { animation: none; } }
