:root{--primary-color:#2563eb;--primary-hover:#1d4ed8;--primary-light:#3b82f6;--primary-dark:#1e40af;--success-color:#10b981;--success-hover:#059669;--success-light:#34d399;--danger-color:#ef4444;--danger-hover:#dc2626;--danger-light:#f87171;--warning-color:#f59e0b;--warning-hover:#d97706;--warning-light:#fbbf24;--info-color:#3b82f6;--info-hover:#2563eb;--info-light:#60a5fa;--purple-start:#667eea;--purple-end:#764ba2;--bg-primary:#fff;--bg-secondary:#f8fafc;--bg-tertiary:#f1f5f9;--bg-hover:rgba(37,99,235,.05);--text-primary:#0f172a;--text-secondary:#475569;--text-tertiary:#94a3b8;--border-color:#e2e8f0;--divider-color:#e2e8f0;--shadow-xs:0 1px 2px 0 rgba(0,0,0,.05);--shadow-sm:0 1px 3px 0 rgba(0,0,0,.1);--shadow-md:0 4px 6px -1px rgba(0,0,0,.1);--shadow-lg:0 10px 15px -3px rgba(0,0,0,.1);--shadow-xl:0 20px 25px -5px rgba(0,0,0,.1);--shadow-2xl:0 25px 50px -12px rgba(0,0,0,.25);--radius-sm:0.5rem;--radius-md:0.75rem;--radius-lg:1rem;--radius-xl:1.25rem;--radius-2xl:1.5rem;--radius-full:9999px;--spacing-xs:0.5rem;--spacing-sm:0.75rem;--spacing-md:1rem;--spacing-lg:1.5rem;--spacing-xl:2rem;--spacing-2xl:3rem;--font-xs:0.75rem;--font-sm:0.875rem;--font-base:1rem;--font-lg:1.125rem;--font-xl:1.25rem;--font-2xl:1.5rem;--font-3xl:1.875rem;--font-4xl:2.25rem;--font-light:300;--font-normal:400;--font-medium:500;--font-semibold:600;--font-bold:700;--transition-fast:150ms ease;--transition-base:200ms ease;--transition-slow:300ms ease;--transition-slower:400ms ease;--z-dropdown:1000;--z-sticky:1020;--z-fixed:1030;--z-modal-backdrop:1040;--z-modal:1050;--z-popover:1060;--z-tooltip:1070;--z-toast:10000}[data-theme=dark]{--bg-primary:#1e293b;--bg-secondary:#0f172a;--bg-tertiary:#334155;--bg-hover:hsla(0,0%,100%,.05);--text-primary:#f1f5f9;--text-secondary:#cbd5e1;--text-tertiary:#64748b;--border-color:#334155;--divider-color:#334155;--shadow-xs:0 1px 2px 0 rgba(0,0,0,.3);--shadow-sm:0 1px 3px 0 rgba(0,0,0,.4);--shadow-md:0 4px 6px -1px rgba(0,0,0,.4);--shadow-lg:0 10px 15px -3px rgba(0,0,0,.5);--shadow-xl:0 20px 25px -5px rgba(0,0,0,.5);--shadow-2xl:0 25px 50px -12px rgba(0,0,0,.6);--primary-color:#3b82f6;--primary-hover:#2563eb}:root{--font-family-sans:"Vazir","Tahoma","Arial",sans-serif;--font-family-mono:"Courier New",monospace}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.05)}}@keyframes pulse-slow{0%,to{opacity:1}50%{opacity:.5}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes slideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-20px)}}@keyframes slideInRight{0%{opacity:0;transform:translateX(30px)}to{opacity:1;transform:translateX(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translateX(-30px)}to{opacity:1;transform:translateX(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes scaleOut{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.9)}}@keyframes modalFadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalSlideUp{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes toastSlideDown{0%{opacity:0;transform:translateX(-50%) translateY(-30px) scale(.9)}70%{transform:translateX(-50%) translateY(5px) scale(1.02)}to{opacity:1;transform:translateX(-50%) translateY(0) scale(1)}}@keyframes toastIconPulse{0%,to{transform:scale(1)}50%{transform:scale(1.15)}}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}@keyframes progress{0%{transform:translateX(-100%)}to{transform:translateX(100%)}}@keyframes shake{0%,to{transform:translateX(0)}10%,30%,50%,70%,90%{transform:translateX(-5px)}20%,40%,60%,80%{transform:translateX(5px)}}.animate-spin{animation:spin 1s linear infinite}.animate-spin-fast{animation:spin .6s linear infinite}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.animate-pulse-slow{animation:pulse-slow 4s ease-in-out infinite}.animate-bounce{animation:bounce 1s infinite}.animate-fade-in{animation:fadeIn .3s ease-out}.animate-fade-out{animation:fadeOut .3s ease-out}.animate-slide-down{animation:slideDown .3s ease-out}.animate-slide-up{animation:slideUp .3s ease-out}.animate-slide-in-right{animation:slideInRight .3s ease-out}.animate-slide-in-left{animation:slideInLeft .3s ease-out}.animate-scale-in{animation:scaleIn .2s ease-out}.animate-scale-out{animation:scaleOut .2s ease-out}.animate-shake{animation:shake .5s ease-in-out}.transition-fast{transition:all var(--transition-fast)}.transition-base{transition:all var(--transition-base)}.transition-slow{transition:all var(--transition-slow)}.transition-colors{transition:color var(--transition-base),background-color var(--transition-base),border-color var(--transition-base)}.transition-transform{transition:transform var(--transition-base)}.transition-opacity{transition:opacity var(--transition-base)}.transition-shadow{transition:box-shadow var(--transition-base)}.hover-lift{transition:transform var(--transition-base),box-shadow var(--transition-base)}.hover-lift:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.hover-lift-sm{transition:transform var(--transition-base),box-shadow var(--transition-base)}.hover-lift-sm:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.hover-scale{transition:transform var(--transition-base)}.hover-scale:hover{transform:scale(1.05)}.hover-scale-sm{transition:transform var(--transition-base)}.hover-scale-sm:hover{transform:scale(1.02)}.focus-ring{transition:box-shadow var(--transition-fast)}.focus-ring:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(37,99,235,.1)}[data-theme=dark] .focus-ring:focus-visible{box-shadow:0 0 0 3px rgba(59,130,246,.2)}.disabled-state{transition:opacity var(--transition-base)}.disabled-state:disabled,.disabled-state[disabled]{opacity:.5;cursor:not-allowed;pointer-events:none}.gradient-primary{background:linear-gradient(135deg,#667eea,#764ba2)}.gradient-primary-light{background:linear-gradient(135deg,rgba(102,126,234,.1),rgba(118,75,162,.1))}.gradient-primary-subtle{background:linear-gradient(135deg,rgba(102,126,234,.05),rgba(118,75,162,.05))}.gradient-blue{background:linear-gradient(135deg,#3b82f6,#2563eb)}.gradient-blue-dark{background:linear-gradient(135deg,#1e40af,#6366f1)}.gradient-success{background:linear-gradient(135deg,#10b981,#059669)}.gradient-success-light{background:linear-gradient(135deg,rgba(16,185,129,.1),rgba(5,150,105,.1))}.gradient-danger{background:linear-gradient(135deg,#ef4444,#dc2626)}.gradient-danger-light{background:linear-gradient(135deg,rgba(239,68,68,.1),rgba(220,38,38,.1))}.gradient-warning{background:linear-gradient(135deg,#f59e0b,#d97706)}.gradient-warning-light{background:linear-gradient(135deg,rgba(245,158,11,.1),rgba(217,119,6,.1))}.gradient-info{background:linear-gradient(135deg,#3b82f6,#2563eb)}.gradient-info-light{background:linear-gradient(135deg,rgba(59,130,246,.1),rgba(37,99,235,.1))}.gradient-purple{background:linear-gradient(135deg,#a855f7,#9333ea)}.gradient-purple-light{background:linear-gradient(135deg,rgba(168,85,247,.1),rgba(147,51,234,.1))}.gradient-text{background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;background-clip:text}.gradient-text,.gradient-text-blue{-webkit-text-fill-color:transparent}.gradient-text-blue{background:linear-gradient(135deg,#3b82f6,#2563eb);-webkit-background-clip:text;background-clip:text}.glass-effect{background:hsla(0,0%,100%,.9);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid hsla(0,0%,100%,.2)}[data-theme=dark] .glass-effect{background:rgba(30,41,59,.9);border:1px solid hsla(0,0%,100%,.1)}.glass-effect-light{background:hsla(0,0%,100%,.7);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}[data-theme=dark] .glass-effect-light{background:rgba(30,41,59,.7)}.card-elevated{background:var(--bg-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);border:1px solid var(--border-color);transition:all var(--transition-base)}.card-elevated:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.card-flat{background:var(--bg-primary);border-radius:var(--radius-lg);border:1px solid var(--border-color)}.loading-spinner{width:3rem;height:3rem;border:3px solid var(--border-color);border-top-color:var(--primary-color);border-radius:50%;animation:spin .8s linear infinite}.loading-spinner-sm{width:1.5rem;height:1.5rem;border-width:2px}.loading-spinner-lg{width:4rem;height:4rem;border-width:4px}.badge{display:inline-flex;align-items:center;padding:.25rem .75rem;border-radius:var(--radius-full);font-size:var(--font-xs);font-weight:var(--font-semibold);white-space:nowrap}.badge-success{background:rgba(16,185,129,.1);color:#10b981;border:1px solid rgba(16,185,129,.2)}[data-theme=dark] .badge-success{background:rgba(16,185,129,.15);color:#34d399;border-color:rgba(16,185,129,.25)}.badge-danger{background:rgba(239,68,68,.1);color:#ef4444;border:1px solid rgba(239,68,68,.2)}[data-theme=dark] .badge-danger{background:rgba(239,68,68,.15);color:#f87171;border-color:rgba(239,68,68,.25)}.badge-warning{background:rgba(245,158,11,.1);color:#f59e0b;border:1px solid rgba(245,158,11,.2)}[data-theme=dark] .badge-warning{background:rgba(245,158,11,.15);color:#fbbf24;border-color:rgba(245,158,11,.25)}.badge-info{background:rgba(59,130,246,.1);color:#3b82f6;border:1px solid rgba(59,130,246,.2)}[data-theme=dark] .badge-info{background:rgba(59,130,246,.15);color:#60a5fa;border-color:rgba(59,130,246,.25)}.badge-secondary{background:var(--bg-tertiary);color:var(--text-secondary);border:1px solid var(--border-color)}.text-gradient-primary{background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.text-balance{text-wrap:balance}.ltr-text{direction:ltr;text-align:left}.divider{height:1px;border:none;margin:var(--spacing-lg) 0}.divider,.divider-vertical{background:var(--divider-color)}.divider-vertical{width:1px;height:100%}.custom-scrollbar{scrollbar-width:thin;scrollbar-color:#cbd5e1 transparent}.custom-scrollbar::-webkit-scrollbar{width:6px;height:6px}.custom-scrollbar::-webkit-scrollbar-track{background:transparent}.custom-scrollbar::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}.custom-scrollbar::-webkit-scrollbar-thumb:hover{background:#94a3b8}[data-theme=dark] .custom-scrollbar{scrollbar-color:#475569 transparent}[data-theme=dark] .custom-scrollbar::-webkit-scrollbar-thumb{background:#475569}[data-theme=dark] .custom-scrollbar::-webkit-scrollbar-thumb:hover{background:#64748b}.skeleton{background:linear-gradient(90deg,var(--bg-tertiary) 0,var(--bg-secondary) 50%,var(--bg-tertiary) 100%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:var(--radius-md)}.overlay{position:fixed;inset:0;background:rgba(0,0,0,.5);backdrop-filter:blur(4px);z-index:var(--z-modal-backdrop)}[data-theme=dark] .overlay{background:rgba(0,0,0,.7)}.container-narrow{max-width:800px}.container-narrow,.container-wide{margin:0 auto;padding:0 var(--spacing-lg)}.container-wide{max-width:1400px}.aspect-square{aspect-ratio:1/1}.aspect-video{aspect-ratio:16/9}.aspect-4-3{aspect-ratio:4/3}.center-absolute{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.center-flex{display:flex;align-items:center;justify-content:center}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.line-clamp-2{-webkit-line-clamp:2}.line-clamp-2,.line-clamp-3{display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden}.line-clamp-3{-webkit-line-clamp:3}.focus-ring-primary:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(37,99,235,.1)}[data-theme=dark] .focus-ring-primary:focus-visible{box-shadow:0 0 0 3px rgba(59,130,246,.2)}