/* =========================================================
   ISA ERP — Utilities
   ========================================================= */

.text-muted-isa { color: var(--isa-text-muted) !important; }
.text-secondary-isa { color: var(--isa-text-secondary) !important; }
.text-primary-isa { color: var(--isa-primary) !important; }
.text-success-isa { color: var(--isa-success) !important; }
.text-danger-isa { color: var(--isa-danger) !important; }
.text-warning-isa { color: var(--isa-warning) !important; }

.fw-300 { font-weight: 300 !important; }
.fw-500 { font-weight: 500 !important; }
.fw-600 { font-weight: 600 !important; }
.fw-700 { font-weight: 700 !important; }

.gap-10 { gap: 10px !important; }
.gap-14 { gap: 14px !important; }
.gap-18 { gap: 18px !important; }

.mt-18 { margin-top: 18px !important; }
.mb-18 { margin-bottom: 18px !important; }
.mb-22 { margin-bottom: 22px !important; }
.mt-8 { margin-top: 8px !important; }
.mt-12 { margin-top: 12px !important; }
.mb-12 { margin-bottom: 12px !important; }
.px-16 { padding-left: 16px !important; padding-right: 16px !important; }
.pb-12 { padding-bottom: 12px !important; }
.pb-18 { padding-bottom: 18px !important; }

.flex-1 { flex: 1 1 auto !important; }
.min-w-0 { min-width: 0 !important; }

.rounded-isa { border-radius: var(--isa-radius-card) !important; }
.shadow-isa { box-shadow: var(--isa-shadow-sm) !important; }

/* Lucide icon size tokens (use instead of inline width/height) */
.icon-xs { width: 12px; height: 12px; flex-shrink: 0; }
.icon-sm { width: 16px; height: 16px; flex-shrink: 0; }
.icon-md { width: 18px; height: 18px; flex-shrink: 0; }
.icon-lg { width: 28px; height: 28px; flex-shrink: 0; }

.dropdown-item .icon-sm { margin-right: 8px; vertical-align: -3px; }

.glass {
  background: var(--isa-surface);
  backdrop-filter: var(--isa-blur);
  -webkit-backdrop-filter: var(--isa-blur);
  border: 1px solid var(--isa-glass-border);
}

.hover-lift {
  transition: transform var(--isa-duration) var(--isa-ease), box-shadow var(--isa-duration) var(--isa-ease);
}

.hover-lift:hover {
  transform: translateY(-2px);
  box-shadow: var(--isa-shadow-md);
}

.stack-sm > * + * { margin-top: 8px; }
.stack-md > * + * { margin-top: 14px; }
.stack-lg > * + * { margin-top: 20px; }

.grid-2 {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.grid-3 {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.grid-4 {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

@media (max-width: 992px) {
  .grid-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .grid-3 { grid-template-columns: 1fr; }
}

@media (max-width: 576px) {
  .grid-2,
  .grid-4 { grid-template-columns: 1fr; }
}
