/* Base shared styles (pure CSS, no Tailwind @apply) */
:root {
  color-scheme: dark;
  --bg: #000814;
  --glass-border: rgba(56, 97, 251, 0.15);
  --glass-top: rgba(23, 27, 56, 0.65);
  --glass-bottom: rgba(10, 12, 24, 0.45);
}
@font-face {
  font-family: iransans;
  src: url("../font/IRANSansXFaNum-Regular.woff");
  src: url("../font/IRANSansXFaNum-Regular.woff2");
}
@font-face {
  font-family: iransans;
  src: url("../font/IRANSansXFaNum-Bold.woff");
  src: url("../font/IRANSansXFaNum-Bold.woff2");
  font-weight: bold;
}
body {
  font-family: iransans, ui-sans-serif, system-ui, Segoe UI, Roboto, Arial,
    sans-serif;
}
.glass {
  background: linear-gradient(180deg, var(--glass-top), var(--glass-bottom));
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border: 1px solid var(--glass-border);
  box-shadow: 0 10px 30px rgba(32, 58, 223, 0.15),
    inset 0 1px 0 rgba(255, 255, 255, 0.04);
}
.glow {
  box-shadow: 0 0 0 2px rgba(56, 97, 251, 0.12),
    0 0 30px rgba(56, 97, 251, 0.16);
}
::-webkit-scrollbar {
  width: 10px;
  height: 10px;
}
::-webkit-scrollbar-thumb {
  background: #374151;
  border-radius: 9999px;
}
::-webkit-scrollbar-track {
  background: transparent;
}

/* Alert component (no @apply) */
.alert {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  padding: 0.75rem 1rem;
  border-radius: 0.75rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
  border: 1px solid;
  position: relative;
  overflow: hidden;
}
.alert::before {
  content: "";
  position: absolute;
  inset-inline-start: 0;
  top: 0;
  bottom: 0;
  width: 4px;
  border-radius: 0.75rem 0 0 0.75rem;
  opacity: 0.9;
}
.alert .alert-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.5rem;
  height: 1.5rem;
  border-radius: 0.5rem;
  font-weight: 700;
}
.alert-info {
  color: #bfdbfe;
  background: rgba(37, 99, 235, 0.08);
  border-color: rgba(147, 197, 253, 0.2);
}
.alert-info::before {
  background: linear-gradient(180deg, #60a5fa, #2563eb);
}
.alert-success {
  color: #bbf7d0;
  background: rgba(16, 185, 129, 0.08);
  border-color: rgba(110, 231, 183, 0.2);
}
.alert-success::before {
  background: linear-gradient(180deg, #34d399, #059669);
}
.alert-warning {
  color: #fde68a;
  background: rgba(245, 158, 11, 0.08);
  border-color: rgba(253, 230, 138, 0.2);
}
.alert-warning::before {
  background: linear-gradient(180deg, #f59e0b, #fbbf24);
}
.alert-danger {
  color: #fecaca;
  background: rgba(244, 63, 94, 0.08);
  border-color: rgba(254, 202, 202, 0.2);
}
.alert-danger::before {
  background: linear-gradient(180deg, #f43f5e, #fb7185);
}
.impersonate {
  position: fixed;
  left: 10px;
  bottom: 10px;
  z-index: 99;
}
