/* SVG Icon Styles - Replace FontAwesome */
.svg-icon {
  display: inline-block;
  vertical-align: middle;
  fill: currentColor;
}

.unicode-icon {
  display: inline-block;
  vertical-align: middle;
  line-height: 1;
  text-align: center;
}

.svg-icon.icon-sm,
.unicode-icon.icon-sm {
  width: 16px;
  height: 16px;
  font-size: 16px;
}

.svg-icon.icon-md,
.unicode-icon.icon-md {
  width: 24px;
  height: 24px;
  font-size: 24px;
}

.svg-icon.icon-lg,
.unicode-icon.icon-lg {
  width: 32px;
  height: 32px;
  font-size: 32px;
}

.svg-icon.icon-xl,
.unicode-icon.icon-xl {
  width: 48px;
  height: 48px;
  font-size: 48px;
}

/* Spinner animation */
.unicode-icon.spin,
.svg-icon.spin {
  animation: icon-spin 1s linear infinite;
}

@keyframes icon-spin {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}

/* Color filters for SVG icons */
.svg-icon.text-primary {
  filter: invert(38%) sepia(95%) saturate(1715%) hue-rotate(202deg) brightness(93%) contrast(91%);
}

.svg-icon.text-success {
  filter: invert(57%) sepia(57%) saturate(444%) hue-rotate(92deg) brightness(91%) contrast(88%);
}

.svg-icon.text-danger {
  filter: invert(33%) sepia(72%) saturate(3297%) hue-rotate(342deg) brightness(93%) contrast(93%);
}

.svg-icon.text-warning {
  filter: invert(78%) sepia(73%) saturate(2037%) hue-rotate(359deg) brightness(99%) contrast(103%);
}

.svg-icon.text-muted {
  filter: grayscale(100%) brightness(0.6);
  opacity: 0.6;
}

.svg-icon.text-white {
  filter: brightness(0) invert(1);
}

/* Color classes for Unicode icons */
.unicode-icon.text-primary { color: #0d6efd; }
.unicode-icon.text-success { color: #198754; }
.unicode-icon.text-danger { color: #dc3545; }
.unicode-icon.text-warning { color: #ffc107; }
.unicode-icon.text-muted { color: #6c757d; }
.unicode-icon.text-white { color: #ffffff; }
