* { 
  margin: 0; 
  padding: 0; 
  box-sizing: border-box; 
}


:focus {
  outline: none;
}
:focus-visible {
  outline: 2px solid var(--primary);
  outline-offset: var(--focus-ring-offset);
}


:focus:not(:focus-visible) {
  outline: none;
}


.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;
}

body {
  
  background: linear-gradient(135deg, #f4f9fc 0%, #f8f7fc 35%, #fcfdff 65%, #ffffff 100%);
  background-color: var(--bg-dark);
  color: var(--text-main);
  font-family: 'Cairo', system-ui, -apple-system, Segoe UI, sans-serif;
  overflow-x: hidden;
  line-height: 1.7;
  min-height: 100vh;
}

a { 
  color: inherit; 
  text-decoration: none; 
}

img { 
  max-width: 100%; 
  height: auto;
  display: block;
}


.aurora-container {
  position: fixed;
  top: 0; 
  left: 0; 
  width: 100%;
  height: 100%;
  z-index: -1;
  overflow: hidden;
  filter: blur(105px);
  opacity: 0.36;
  pointer-events: none;
}

.aurora-blob {
  position: absolute;
  width: 620px; 
  height: 620px;
  border-radius: 50%;
  mix-blend-mode: screen;
  animation: move 20s infinite alternate;
  transform: translateZ(0);
}

.blob-1 { 
  background: var(--primary); 
  top: -12%; 
  left: -12%; 
  animation-duration: 15s; 
}

.blob-2 { 
  background: var(--accent); 
  bottom: -12%; 
  right: -12%; 
  animation-duration: 20s; 
}

.blob-3 { 
  background: var(--secondary); 
  top: 42%; 
  left: 28%; 
  animation-duration: 25s; 
}

@keyframes move {
  from { 
    transform: translate(0, 0) scale(1); 
  }
  to { 
    transform: translate(120px, 90px) scale(1.2); 
  }
}



.flex { display: flex !important; }
.grid { display: grid !important; }
.block { display: block !important; }
.inline-block { display: inline-block !important; }
.inline { display: inline !important; }
.items-center { align-items: center !important; }
.items-start { align-items: flex-start !important; }
.justify-between { justify-content: space-between !important; }
.justify-center { justify-content: center !important; }
.flex-wrap { flex-wrap: wrap !important; }
.flex-col { flex-direction: column !important; }
.w-full { width: 100% !important; }
.flex-1 { flex: 1 !important; }
.shrink-0 { flex-shrink: 0 !important; }
.select-none { user-select: none !important; }
.col-span-full { grid-column: 1 / -1 !important; }
.pointer-events-none { pointer-events: none !important; }
.underline { text-decoration: underline !important; }
.bg-transparent { background: transparent !important; }
.w-18 { width: 18px !important; }
.h-18 { height: 18px !important; }


.m-0 { margin: 0 !important; }
.mt-0 { margin-top: 0 !important; }
.mt-4 { margin-top: 4px !important; }
.mt-6 { margin-top: 6px !important; }
.mt-8 { margin-top: 8px !important; }
.mt-10 { margin-top: 10px !important; }
.mt-12 { margin-top: 12px !important; }
.mt-14 { margin-top: 14px !important; }
.mt-16 { margin-top: 16px !important; }
.mt-20 { margin-top: 20px !important; }
.mt-24 { margin-top: 24px !important; }
.mt-30 { margin-top: 30px !important; }
.mt-40 { margin-top: 40px !important; }

.mb-0 { margin-bottom: 0 !important; }
.mb-4 { margin-bottom: 4px !important; }
.mb-6 { margin-bottom: 6px !important; }
.mb-8 { margin-bottom: 8px !important; }
.mb-10 { margin-bottom: 10px !important; }
.mb-12 { margin-bottom: 12px !important; }
.mb-16 { margin-bottom: 16px !important; }
.mb-20 { margin-bottom: 20px !important; }
.mb-24 { margin-bottom: 24px !important; }
.mb-30 { margin-bottom: 30px !important; }
.mb-40 { margin-bottom: 40px !important; }


.gap-4 { gap: 4px !important; }
.gap-6 { gap: 6px !important; }
.gap-8 { gap: 8px !important; }
.gap-10 { gap: 10px !important; }
.gap-12 { gap: 12px !important; }
.gap-16 { gap: 16px !important; }
.gap-20 { gap: 20px !important; }
.gap-24 { gap: 24px !important; }


.p-0 { padding: 0 !important; }

.text-clamp-lg { font-size: clamp(28px, 4vw, 48px) !important; }
.max-w-700 { max-width: 700px !important; }
.grid-cols-auto-320 { grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)) !important; }
.p-25 { padding: 25px !important; }
.gap-15 { gap: 15px !important; }
.items-start { align-items: flex-start !important; }
.leading-snug { line-height: 1.4 !important; }
.flex-1 { flex: 1 !important; }
.pt-15 { padding-top: 15px !important; }
.pt-10 { padding-top: 10px !important; }
.cursor-default { cursor: default !important; }
.pointer-events-none { pointer-events: none !important; }

.p-12 { padding: 12px !important; }
.p-16 { padding: 16px !important; }
.p-20 { padding: 20px !important; }
.p-24 { padding: 24px !important; }
.p-30 { padding: 30px !important; }
.p-40 { padding: 40px !important; }


.text-xs { font-size: 12px !important; }
.text-sm { font-size: 14px !important; }
.text-base { font-size: 16px !important; }
.text-lg { font-size: 18px !important; }
.text-xl { font-size: 20px !important; }
.text-2xl { font-size: 24px !important; }
.font-medium { font-weight: 500 !important; }
.font-bold { font-weight: 700 !important; }
.text-center { text-align: center !important; }
.text-right { text-align: right !important; }
.text-left { text-align: left !important; }
.leading-normal { line-height: 1.5 !important; }
.leading-relaxed { line-height: 1.7 !important; }
.leading-loose { line-height: 1.9 !important; }
.no-underline { text-decoration: none !important; }


.text-main { color: var(--text-main) !important; }
.text-muted { color: var(--text-muted) !important; }
.text-primary { color: var(--primary) !important; }
.text-danger { color: #ef4444 !important; }


.border-none { border: none !important; }
.cursor-not-allowed { cursor: not-allowed !important; }
.cursor-pointer { cursor: pointer !important; }
.rounded-sm { border-radius: 4px !important; }
.rounded { border-radius: 6px !important; }
.rounded-md { border-radius: 8px !important; }
.rounded-lg { border-radius: 10px !important; }
.rounded-xl { border-radius: 12px !important; }
.rounded-2xl { border-radius: 16px !important; }
.rounded-full { border-radius: 50% !important; }


.mb-14 { margin-bottom: 14px !important; }
.mb-18 { margin-bottom: 18px !important; }


.py-4  { padding-top: 4px !important;  padding-bottom: 4px !important; }
.py-8  { padding-top: 8px !important;  padding-bottom: 8px !important; }
.px-10 { padding-left: 10px !important; padding-right: 10px !important; }
.px-12 { padding-left: 12px !important; padding-right: 12px !important; }
.mr-10 { margin-right: 10px !important; }
.pt-4  { padding-top: 4px !important; }
.pt-120 { padding-top: 120px !important; }
.pb-60  { padding-bottom: 60px !important; }


.opacity-85    { opacity: 0.85 !important; }
.whitespace-nowrap { white-space: nowrap !important; }
.justify-self-start { justify-self: start !important; }
.list-none { list-style: none !important; }
.resize-y  { resize: vertical !important; }
.max-w-lg  { max-width: 560px !important; }
.grid-cols-2 { grid-template-columns: 1fr 1fr !important; }
.font-inherit { font-family: inherit !important; }
.leading-7 { line-height: 1.7 !important; }


.section-alt { background: rgba(255,255,255,0.02); }


.btn-sm { padding: 8px 12px !important; font-size: 12px !important; }


.search-section-title { font-size: 18px !important; margin: 20px 0 10px !important; }
.home-search-results__hint { margin: 16px 0 8px; font-size: 13px; color: var(--text-muted); }


.col-span-full { grid-column: 1 / -1 !important; }
.justify-end { justify-content: flex-end !important; }
.grid-cols-2 { grid-template-columns: 1fr 1fr !important; }
.grid-cols-3 { grid-template-columns: 1fr 1fr 1fr !important; }
.grid-cols-200 { grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)) !important; }
.max-w-800 { max-width: 800px !important; }
.mx-auto { margin-left: auto !important; margin-right: auto !important; }
.mb-32 { margin-bottom: 32px !important; }
.mb-5 { margin-bottom: 5px !important; }
.mt-32 { margin-top: 32px !important; }
.pt-20 { padding-top: 20px !important; }
.mr-30 { margin-right: 30px !important; }
.leading-relaxed { line-height: 1.6 !important; }
.leading-loose { line-height: 1.8 !important; }
.form-checkbox-lg { width: 18px !important; height: 18px !important; }
.bg-glass-subtle { background: rgba(255,255,255,0.04) !important; border: 1px solid rgba(255,255,255,0.1) !important; }
.border-t-glass { border-top: 1px solid rgba(255,255,255,0.1) !important; }


.alert-error-soft { background: rgba(239,68,68,0.10) !important; border: 1px solid rgba(239,68,68,0.35) !important; color: #fee2e2 !important; }
.alert-success-soft { background: rgba(16,185,129,0.10) !important; border: 1px solid rgba(16,185,129,0.35) !important; color: #d1fae5 !important; }
.alert-info-soft { background: rgba(59,130,246,0.10) !important; border: 1px solid rgba(59,130,246,0.35) !important; color: #dbeafe !important; }
.alert-warning-soft { background: rgba(251,191,36,0.15) !important; border: 1px solid rgba(251,191,36,0.35) !important; color: #fcd34d !important; }
.alert-neutral-soft { background: rgba(243,244,246,0.10) !important; border: 1px solid rgba(243,244,246,0.35) !important; color: #d1d5db !important; }


.text-09rem { font-size: 0.9rem !important; }
.btn-disabled-glass { opacity: 0.6 !important; cursor: not-allowed !important; }
.btn-neutral-soft { background: rgba(156, 163, 175, 0.1) !important; color: #9ca3af !important; border: 1px solid rgba(156, 163, 175, 0.2) !important; }


.pt-30 { padding-top: 120px !important; }
.pb-15 { padding-bottom: 60px !important; }
.overflow-hidden { overflow: hidden !important; }
.rounded-sm { border-radius: var(--radius-sm) !important; }
.hero-title { font-size: clamp(24px, 4vw, 32px) !important; line-height: 1.3 !important; }
.whitespace-pre-wrap { white-space: pre-wrap !important; }
.pr-18 { padding-right: 18px !important; }
.border-r-error { border-right: 4px solid #ef4444 !important; }
.text-error-dark { color: #991b1b !important; }


.badge-success { background: #dcfce7 !important; color: #166534 !important; }
.badge-info { background: #e0f2fe !important; color: #0369a1 !important; }
.badge-warning { background: #fef3c7 !important; color: #854d0e !important; }
.badge-danger { background: #fee2e2 !important; color: #7f1d1d !important; }
.badge-neutral { background: #f3f4f6 !important; color: #4b5563 !important; }
.badge-primary { background: var(--primary) !important; color: #ffffff !important; }
.badge-serial { background: rgba(47, 128, 237, 0.08) !important; color: var(--primary) !important; font-family: 'IBM Plex Mono', 'Courier New', monospace; font-size: 0.9rem; font-weight: 700; letter-spacing: 0.05em; direction: ltr; unicode-bidi: isolate; border: 1px solid rgba(47, 128, 237, 0.2) !important; padding: 0.35rem 0.75rem; border-radius: 6px; margin-inline-start: auto; }


.text-white { color: #ffffff !important; }
.mt-0 { margin-top: 0 !important; }
.mb-8 { margin-bottom: 8px !important; }
.mb-10 { margin-bottom: 10px !important; }
.mb-12 { margin-bottom: 12px !important; }
.mb-24 { margin-bottom: 24px !important; }
.btn-sm { padding: 6px 14px !important; }
.shrink-0 { flex-shrink: 0 !important; }
.break-all { word-break: break-all !important; }


.overflow-x-auto { overflow-x: auto !important; }
.border-collapse { border-collapse: collapse !important; }
.border-b-glass { border-bottom: 1px solid rgba(255,255,255,0.08) !important; }
.border-b-glass-strong { border-bottom: 1px solid rgba(255,255,255,0.2) !important; }
.badge-primary-soft { background: #E0E7FF !important; color: #4338CA !important; }
.p-48 { padding: 48px !important; }
.w-fit { width: fit-content !important; }


.text-clamp-md { font-size: clamp(20px, 3vw, 28px) !important; }
.mb-16 { margin-bottom: 16px !important; }
.mb-20 { margin-bottom: 20px !important; }
.bg-white-5 { background: rgba(255,255,255,0.06) !important; }
.badge-info-strong { background: #DBEAFE !important; color: #1D4ED8 !important; }
.opacity-70 { opacity: 0.7 !important; }
.max-w-420 { max-width: 420px !important; }


.text-20 { font-size: 20px !important; }
.text-22 { font-size: 22px !important; }
.text-28 { font-size: 28px !important; }
.text-4xl { font-size: 40px !important; }
.p-14 { padding: 14px !important; }
.p-24 { padding: 24px !important; }
.text-d-muted { color: var(--d-muted) !important; }
.text-warning-dark { color: #d97706 !important; }
.leading-19 { line-height: 1.9 !important; }
.leading-none { line-height: 1 !important; }
.text-blue-100 { color: #e0e7ff !important; }
.text-blue-300 { color: #93c5fd !important; }
.max-w-600 { max-width: 600px !important; }
.max-h-300 { max-height: 300px !important; }
.overflow-y-auto { overflow-y: auto !important; }
.form-checkbox-lg { width: 18px !important; height: 18px !important; }
.flex-1 { flex: 1 !important; }
.select-none { user-select: none !important; }
.opacity-80 { opacity: 0.8 !important; }
.cursor-default { cursor: default !important; }
.pointer-events-none { pointer-events: none !important; }
.list-none { list-style: none !important; }
.mt-4 { margin-top: 4px !important; }
.gap-14 { gap: 14px !important; }
.grid-cols-auto-200 { grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)) !important; }
.opacity-80 { opacity: 0.8 !important; }
.cursor-default { cursor: default !important; }
.pointer-events-none { pointer-events: none !important; }
.list-none { list-style: none !important; }



.modal-close-btn { background: none; border: none; color: var(--text-muted); font-size: 24px; cursor: pointer; padding: 0 8px; line-height: 1; transition: color 0.2s; }
.mr-12 { margin-right: 12px !important; }
.inline-flex { display: inline-flex !important; }



