:root{--bg-primary:#0a0e1a;--bg-secondary:#151925;--bg-tertiary:#1e2433;--bg-card:#1a1f2e;--bg-hover:#252b3d;--accent-primary:#6366f1;--accent-secondary:#8b5cf6;--accent-success:#10b981;--accent-warning:#f59e0b;--accent-danger:#ef4444;--accent-info:#3b82f6;--text-primary:#f1f5f9;--text-secondary:#94a3b8;--text-tertiary:#64748b;--text-muted:#475569;--border-subtle:#1e293b;--border-default:#334155;--border-hover:#475569;--gradient-primary:linear-gradient(135deg,#667eea 0%,#764ba2 100%);--gradient-success:linear-gradient(135deg,#10b981 0%,#059669 100%);--gradient-danger:linear-gradient(135deg,#ef4444 0%,#dc2626 100%);--gradient-card:linear-gradient(135deg,#1e2433 0%,#1a1f2e 100%);--shadow-sm:0 1px 2px 0 #0000004d;--shadow-md:0 4px 6px -1px #0006,0 2px 4px -1px #0000004d;--shadow-lg:0 10px 15px -3px #00000080,0 4px 6px -2px #0006;--shadow-xl:0 20px 25px -5px #0009,0 10px 10px -5px #0006;--shadow-glow:0 0 20px #6366f166}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Vazirmatn,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.6;overflow-x:hidden}#root{background:var(--bg-primary);min-height:100vh}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--bg-secondary);border-radius:10px}::-webkit-scrollbar-thumb{background:var(--bg-tertiary);border-radius:10px;transition:background .2s}::-webkit-scrollbar-thumb:hover{background:var(--border-hover)}::selection{background:var(--accent-primary);color:#fff}::selection{background:var(--accent-primary);color:#fff}*{transition:background-color .2s,border-color .2s,color .2s,box-shadow .2s}.card{background:var(--bg-card);border:1px solid var(--border-subtle);box-shadow:var(--shadow-md);border-radius:16px;padding:1.5rem;transition:all .3s}.card:hover{border-color:var(--border-hover);box-shadow:var(--shadow-lg);transform:translateY(-2px)}.card-gradient{background:var(--gradient-card);border:1px solid var(--border-subtle);box-shadow:var(--shadow-md);border-radius:16px;padding:1.5rem}.btn{cursor:pointer;border:none;border-radius:12px;outline:none;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-size:.95rem;font-weight:500;transition:all .2s;display:inline-flex;position:relative;overflow:hidden}.btn:before{content:"";background:#ffffff1a;width:100%;height:100%;transition:transform .3s;position:absolute;top:0;left:0;transform:translate(-100%)}.btn:hover:before{transform:translate(0)}.btn-primary{background:var(--accent-primary);color:#fff;box-shadow:0 4px 12px #6366f14d}.btn-primary:hover{background:#5558e3;transform:translateY(-2px);box-shadow:0 6px 16px #6366f166}.btn-success{background:var(--accent-success);color:#fff;box-shadow:0 4px 12px #10b9814d}.btn-success:hover{background:#059669;transform:translateY(-2px);box-shadow:0 6px 16px #10b98166}.btn-danger{background:var(--accent-danger);color:#fff;box-shadow:0 4px 12px #ef44444d}.btn-danger:hover{background:#dc2626;transform:translateY(-2px);box-shadow:0 6px 16px #ef444466}.btn-ghost{color:var(--text-secondary);border:1px solid var(--border-default);background:0 0}.btn-ghost:hover{background:var(--bg-hover);color:var(--text-primary);border-color:var(--border-hover)}input,textarea,select{background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-default);border-radius:12px;outline:none;width:100%;padding:.75rem 1rem;font-family:Vazirmatn,sans-serif;font-size:.95rem;transition:all .2s}input:focus,textarea:focus,select:focus{border-color:var(--accent-primary);background:var(--bg-tertiary);box-shadow:0 0 0 3px #6366f11a}input::placeholder,textarea::placeholder{color:var(--text-muted)}.badge{border-radius:8px;align-items:center;gap:.375rem;padding:.25rem .75rem;font-size:.85rem;font-weight:500;display:inline-flex}.badge-success{color:var(--accent-success);background:#10b98126;border:1px solid #10b9814d}.badge-danger{color:var(--accent-danger);background:#ef444426;border:1px solid #ef44444d}.badge-warning{color:var(--accent-warning);background:#f59e0b26;border:1px solid #f59e0b4d}.badge-info{color:var(--accent-info);background:#3b82f626;border:1px solid #3b82f64d}.glass{-webkit-backdrop-filter:blur(12px);background:#1a1f2eb3;border:1px solid #ffffff0d}.divider{background:var(--border-subtle);height:1px;margin:1.5rem 0}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-100%)}to{opacity:1;transform:translate(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}.animate-fadeIn{animation:.3s ease-out fadeIn}.animate-slideInRight{animation:.3s ease-out slideInRight}.animate-slideInLeft{animation:.3s ease-out slideInLeft}.animate-scaleIn{animation:.2s ease-out scaleIn}.animate-pulse{animation:2s cubic-bezier(.4,0,.6,1) infinite pulse}.skeleton{background:linear-gradient(90deg,var(--bg-secondary)0%,var(--bg-tertiary)50%,var(--bg-secondary)100%);background-size:1000px 100%;border-radius:8px;animation:2s infinite shimmer}.tooltip{position:relative}.tooltip:after{content:attr(data-tooltip);background:var(--bg-tertiary);color:var(--text-primary);white-space:nowrap;opacity:0;pointer-events:none;box-shadow:var(--shadow-lg);z-index:1000;border-radius:8px;padding:.5rem .75rem;font-size:.85rem;transition:opacity .2s,transform .2s;position:absolute;bottom:100%;left:50%;transform:translate(-50%)translateY(-8px)}.tooltip:hover:after{opacity:1;transform:translate(-50%)translateY(-12px)}.persian-digits{font-feature-settings:"ss01" on}@media (width<=768px){.card{border-radius:12px;padding:1rem}.btn{padding:.625rem 1.25rem;font-size:.9rem}input,textarea,select{padding:.625rem .875rem;font-size:.9rem}}@media print{body{color:#000;background:#fff}.no-print{display:none!important}}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}button:focus-visible{outline-offset:4px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}