*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--primary-50:#eff6ff;--primary-100:#dbeafe;--primary-200:#bfdbfe;--primary-300:#93c5fd;--primary-400:#60a5fa;--primary-500:#3b82f6;--primary-600:#2563eb;--primary-700:#1d4ed8;--primary-800:#1e40af;--primary-900:#1e3a8a;--secondary-50:#f0fdfa;--secondary-100:#ccfbf1;--secondary-500:#14b8a6;--secondary-600:#0d9488;--secondary-700:#0f766e;--accent-50:#fffbeb;--accent-100:#fef3c7;--accent-500:#f59e0b;--accent-600:#d97706;--success-50:#f0fdf4;--success-100:#dcfce7;--success-500:#22c55e;--success-600:#16a34a;--success-700:#15803d;--warning-50:#fff7ed;--warning-500:#f97316;--warning-600:#ea580c;--error-50:#fef2f2;--error-100:#fee2e2;--error-500:#ef4444;--error-600:#dc2626;--neutral-50:#f8fafc;--neutral-100:#f1f5f9;--neutral-200:#e2e8f0;--neutral-300:#cbd5e1;--neutral-400:#94a3b8;--neutral-500:#64748b;--neutral-600:#475569;--neutral-700:#334155;--neutral-800:#1e293b;--neutral-900:#0f172a;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -1px #0000000f;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -2px #0000000d;--shadow-xl:0 20px 25px -5px #0000001a, 0 10px 10px -5px #0000000a;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-2xl:24px;--radius-full:9999px}html{direction:rtl;font-size:16px}body{background-color:var(--neutral-50);color:var(--neutral-800);-webkit-font-smoothing:antialiased;margin:0;font-family:Tajawal,sans-serif;line-height:1.6}#root{width:100%;min-height:100vh}h1,h2,h3,h4,h5,h6{color:var(--neutral-900);font-weight:700;line-height:1.3}a{color:inherit;text-decoration:none}button{cursor:pointer;border:none;outline:none;font-family:Tajawal,sans-serif}input,select,textarea{outline:none;font-family:Tajawal,sans-serif}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--neutral-100)}::-webkit-scrollbar-thumb{background:var(--neutral-300);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--neutral-400)}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(32px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes slideIn{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.animate-fadeIn{animation:.3s ease-out fadeIn}.animate-slideIn{animation:.3s ease-out slideIn}.animate-spin{animation:1s linear infinite spin}.animate-pulse{animation:2s ease-in-out infinite pulse}
